我正在使用 onbeforeunload 函数在用户关闭浏览器窗口之前提醒用户。目前,如果我们关闭浏览器的任何选项卡,就会调用警报。
我只需要这个功能:
1) 仅当我们的标签试图关闭时才发出警报,即当我们尝试关闭其他标签时不会显示此警报。
2) 当我们尝试使用右上角的关闭按钮关闭整个浏览器时应该显示..
下面的代码适用于 jquery,我现在在 Mozilla firefox 中面临的唯一问题是,如果该页面中存在任何链接,例如指向 www.google.com 的 href,它将显示警报...那种情况也是,这是不需要的。这在 IE 中有效,我使用的是 mozilla 3.6
请帮忙......
下面的代码
<html>
<script src="jquery.js"></script>
<script>
$(function() {
$(window).bind("beforeunload", function(e) {
return "Are you sure?"
});
});
</script>
<body>
hiiiiii
</body>
</html>
最佳答案
不幸的是,事件对象
中没有任何信息(还没有)。所以你不知道用户想如何离开你的页面。但是你可以解决这个问题。例如,您想要允许所有 外部链接
离开您的站点,您可以添加一些 bool 标志。
var allowunload = false;
$('a').bind('click', function() {
allowunload = true;
});
...并在 beforeunload
事件中检查:
$(window).bind('beforeunload', function(e) {
if(!allowunload)
return 'sure?';
});
关于页面关闭后的javascript警报问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4667561/