是否有任何跨浏览器 JavaScript/jQuery 代码来检测浏览器或浏览器选项卡是否正在关闭,但不是由于单击了链接?
原文由 cometta 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否有任何跨浏览器 JavaScript/jQuery 代码来检测浏览器或浏览器选项卡是否正在关闭,但不是由于单击了链接?
原文由 cometta 发布,翻译遵循 CC BY-SA 4.0 许可协议
来自 MDN 文档
由于某些原因,基于 Webkit 的浏览器不遵循对话框的规范。一个几乎交叉工作的例子与下面的例子很接近。
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = "\o/";
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
return confirmationMessage; //Webkit, Safari, Chrome
});
此示例用于处理所有浏览器。
原文由 mohamed-ibrahim 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
如果我理解正确,您想知道选项卡/窗口何时有效关闭。好吧,AFAIK 在 JavaScript 中检测到这一点的唯一方法是使用
onunload
或onbeforeunload
事件。不幸的是(或幸运的是?),当您通过链接或浏览器的后退按钮离开站点时,也会触发这些事件。所以这是我能给出的最好的答案,我认为你不能在 JavaScript 中检测到纯
close
。如果我在这里错了,请纠正我。