0

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

4

2 回答 2

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?';
    };

})();

注意:大多数浏览器不会尊重自定义提示语句,而是偏爱自己的提示语句。

于 2012-08-06T12:50:14.127 回答
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

于 2012-08-06T12:55:17.863 回答