我正在使用onbeforeunload函数在关闭浏览器窗口之前提醒用户。目前,如果我们关闭浏览器的任何选项卡,将会调用警报。
我只需要这个功能:
1)仅在我们的标签尝试关闭时发出警报,即当我们尝试关闭其他标签时,此警报不会显示。
2)当我们尝试使用关闭按钮右上角关闭整个浏览器时,应该显示..
下面的代码适用于jquery,我现在在Mozilla firefox中遇到的唯一问题是,如果该页面中存在任何链接,如href到www.google.com,它将显示警告... in那个案子也是,这是不需要的。这适用于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>
答案 0 :(得分:2)
不幸的是,event object
(尚未)中没有任何信息。所以你不知道用户想要如何离开你的页面。但你可以解决这个问题。例如,您希望允许所有external links
离开您的网站,添加一些布尔标记。
var allowunload = false;
$('a').bind('click', function() {
allowunload = true;
});
...并在beforeunload
事件中检查:
$(window).bind('beforeunload', function(e) {
if(!allowunload)
return 'sure?';
});
答案 1 :(得分:0)
您可以尝试以下操作:
$("a").click(function(){
$(window).unbind('beforeunload');
});
$(window).bind('beforeunload', function(e) {
return 'sure?';
});
如果用户点击锚点,这将取消绑定事件。但它有一个小的副作用,如果锚没有重定向到另一个页面,而是做一些JavaScript功能。