我写了一些代码,在离开页面之前会要求确认。如果我说是离开页面,那么需要进行一些清理工作。现在问题是onunload
方法正在获得executed for page refresh
但not 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";
}
}
答案 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
事件应该发生的代码