检测浏览器或制表符关闭是否有任何跨浏览器的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
提交
取消