如何在关闭窗口之前控制页面

时间:2013-12-24 04:35:37

标签: javascript jquery window window.onunload

我正在使用该功能

 window.onbeforeunload = function(){
  if(sessionStorage.hasOwnProperty("teststatred")){
            validNavigation = true;
            leave_message = "You are in the middle of the test, Are you sure do you want to close the window?"
        }
        if (validNavigation)
        {
            if (!e) e = window.event;              
            e.cancelBubble = true;
            e.returnValue = leave_message;               
            if (e.stopPropagation) {
                e.stopPropagation();
                e.preventDefault();
            }             
            return leave_message;
        }
 }

此功能将显示两个按钮的窗口:Leave this pageStay on this page。 当用户点击Leave this page或“留在此页面上”时,如何执行功能?

1 个答案:

答案 0 :(得分:0)

不幸的是,你不能,因为唯一的方法是使用confirm(), alert(), or prompt()并且它们都将被忽略:

'自2011年5月25日起,HTML5规范声明在此事件期间可能会忽略对window.showModalDialog(),window.alert(),window.confirm()和window.prompt()方法的调用。“

https://developer.mozilla.org/en-US/docs/Web/API/window.onbeforeunload?redirectlocale=en-US&redirectslug=DOM%2Fwindow.onbeforeunload

然而,它确实可能,所以试一试prompt就不会有什么坏处。