页面关闭后的javascript警报问题

标签 javascript jquery

我正在使用 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?';
});

实际操作:http://www.jsfiddle.net/4yUqL/41/

关于页面关闭后的javascript警报问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4667561/

相关文章:

jquery-ui - 如何从jquery自动完成结果中删除项目符号

javascript - jQuery/数据表 : including many differents search filters types and fields in a basic DataTable

javascript - 显示 : inline; doesn't work with copy link

javascript - 移动到外部组件,直到到达具有特定属性的组件

javascript - 如何根据lodash中每个数组的不同属性从2个数组返回1个数组?

javascript - 追加和清空大型列表时的性能

Javascript for 循环与输入值进行比较

javascript - 如何将复选框中的 div id 作为参数传递给 onclick 方法?

javascript - 隐藏一个 div 或动态附加它

javascript - 如何在按住鼠标时保持光标样式相同?