onunload工作浏览器刷新但不是关闭

时间:2012-08-03 07:22:55

标签: javascript

我写了一些代码,在离开页面之前会要求确认。如果我说是离开页面,那么需要进行一些清理工作。现在问题是onunload方法正在获得executed for page refreshnot for page close,为什么?

代码:

function checkBrowser(){

    window.onbeforeunload=warning;
    window.onunload = unloadPage;

}
function unloadPage() {
        if($('#loginOrNot').val() == 'loggedIn'){
            setTheExpertStatusToOffline();
            cleanUpChat();
        }
}
function warning(){
        if($('#loginOrNot').val() == 'loggedIn'){
            return "You are leaving the page"; 
        }
}

2 个答案:

答案 0 :(得分:4)

window.onload=function(){

document.getElementById('refresh').onclick=function() {
    window.onbeforeunload = null;
    window.location.reload(); // replace with your code
}

window.onbeforeunload = function() {        
    return "Are you sure you want to leave?";        
}

}​ 

答案 1 :(得分:1)

onunload事件仅在重定向或刷新页面时有效。关闭时只有onbeforeunload有效..

修改 简单来说,原因可能是一旦浏览器关闭,它就不会执行onunload事件应该发生的代码