在浏览器关闭时在确认对话框中单击停留页面时执行方法

时间:2012-08-06 12:46:39

标签: javascript

我知道当用户试图关闭浏览器时我们如何获得弹出窗口。现在我的问题是,如果用户说“留在页面上”,我们如何执行一些代码?该按钮是否有任何点击处理程序?

2 个答案:

答案 0 :(得分:3)

尝试使用onbeforeunload事件。

(function () {

    var oldMousemove = document.body.onmousemove,
        onCancel = function () {
            // Do something if the user stays.
            document.body.onmousemove = oldMousemove;
        };

    window.onbeforeunload = function() {
        document.body.onmousemove = onCancel;
        return 'Do you really want to leave?';
    };

})();

注意:大多数浏览器都不会尊重自定义提示语句,而是倾向于使用自己的语句。

答案 1 :(得分:0)

    <script>
    (function(){
      window.onbeforeunload = function (e) { 
        if(!e) var e = window.event;
        e.cancelBubble = true;
        e.returnValue = false;
        if (e.stopPropagation) {
          e.stopPropagation();
          e.preventDefault();
        }
        return false;
      }
    }());

</script>

适用于Firefox和IE 9