Javascript 仅在关闭选项卡/窗口上触发页面卸载事件
我只想在“关闭”选项卡/窗口上显示“警报打开” 现在我已经做了一些如下图所示的事情,但它甚至在浏览器的“F5”后退按钮上启动。。。 但我只希望它在选项卡/窗口上关闭 我在这方面做了很多尝试,也检查了很多stackoverflow链接,但没有得到任何解决方案Javascript 仅在关闭选项卡/窗口上触发页面卸载事件,javascript,jquery,Javascript,Jquery,我只想在“关闭”选项卡/窗口上显示“警报打开” 现在我已经做了一些如下图所示的事情,但它甚至在浏览器的“F5”后退按钮上启动。。。 但我只希望它在选项卡/窗口上关闭 我在这方面做了很多尝试,也检查了很多stackoverflow链接,但没有得到任何解决方案 window.onbeforeunload = function(e) { return confirmExit() } function confirmExit
window.onbeforeunload = function(e) {
return confirmExit()
}
function confirmExit() {
//my logic
return false;
}
还添加了以下代码,以防止单击我的站点中的任何链接时onbeforeunload
$(document).ready(function() {
$('a[rel!=ext]').click(function() {
window.onbeforeunload = null;
});
$('form').submit(function() {
window.onbeforeunload = null;
});
});
因此,请帮助我。出于安全原因,这不可能,也不应该。为了确定用户何时以及如何与用户代理(浏览器)交互,您(应该)必须能够访问浏览器的更高安全性上下文。页面脚本应该被专门阻止进行此访问 您可以知道何时卸载页面(
onbeforeuload
和onunload
事件),但不知道卸载页面的明确原因
请注意,您可以而且应该通过
window.addEventListener()
和beforeunload
事件处理此事件。使用window.onbeforeunload
和window.onunload
而不是window.addEventListener()
限制更大,不允许与可能加载的其他脚本共享事件,也不允许仅删除您自己的事件处理程序。您应该养成使用window.addEventListener()的习惯
和一个命名函数,以便在一个不局限于在页面上运行自己的脚本的环境中发挥良好作用。可能重复@JFit我知道这是一个重复的问题,但可能有任何方法,比如用keycode或类似的方法阻止“F5”?哦,你为什么不这么说-可能重复:;)@呃。KT@JFit很棒的朋友:),但现在想要同样的浏览器后退按钮吗?后退按钮上没有太多。。也许是其中之一