检测浏览器或制表符关闭是否有任何跨浏览器的JavaScript / jQuery代码来检测浏览器或浏览器选项卡是否正在关闭,而不是由于链接被点击?
4 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
如果我找到你,你想知道什么时候选项卡/窗口有效关闭。好了,据我所知的唯一途径Javascript,以检测之类的东西都onunload与onbeforeunload事件。
不幸的是(或者幸运的是?),当您将网站留link在浏览器或浏览器后退按钮时,这些事件也会被触发。所以这是我能给出的最佳答案,我认为你不能close在Javascript 中原生地检测到纯粹的答案。如果我在这里错了,请纠正我。
ITMISS
TA贡献1871条经验 获得超8个赞
出于某些原因,基于Webkit的浏览器不遵循对话框的规范。一个几乎交叉的例子将接近下面的例子。
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = "\o/";
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
return confirmationMessage; //Webkit, Safari, Chrome});此示例用于处理所有浏览器。
繁华开满天机
TA贡献1816条经验 获得超4个赞
简单解决方案
window.onbeforeunload = function () {
return "Do you really want to close?";};
弑天下
TA贡献1818条经验 获得超8个赞
<body onbeforeunload="ConfirmClose()" onunload="HandleOnClose()">var myclose = false;
function ConfirmClose()
{
if (event.clientY < 0)
{
event.returnValue = 'You have closed the browser. Do you want to logout from your application?';
setTimeout('myclose=false',10);
myclose=true;
}
}
function HandleOnClose()
{
if (myclose==true)
{
//the url of your logout page which invalidate session on logout
location.replace('/contextpath/j_spring_security_logout') ;
}
}//如果您只使用一个选项卡关闭选项卡或浏览器,则可以在IE7中使用
添加回答
举报
0/150
提交
取消
