[英]how to unbind onbeforeunload event on javascript function call and page refresh
[英]Call a function on page refresh using Javascript
function warnuser()
{
return "Don't refresh the page.";
}
window.onbeforeunload = warnuser;
如果用戶刷新頁面並且用戶在確認框上單擊“離開此頁面”,我想調用javascript函數,否則不會! 我對如何做到這一點很困惑。 謝謝
您需要攔截F5
鍵按下並僅在這種情況下設置onbeforeunload
處理程序:
document.addEventListener('keydown', function(e) {
if(e.which == 116) {
window.onbeforeunload = function() {
window.onbeforeunload = null;
return "Do you really want to refresh the page?";
}
}
}, false);
演示: http : //jsfiddle.net/ejDrq/
請注意,如果用戶單擊 “刷新”按鈕,則不起作用。 攔截這個是不可能的。
如果您可以控制托管頁面的服務器端,那么您可以使用semaphore
( wiki:semaphore )在邏輯上處理它。 基本上它是一個旋轉鎖,它將在他們的服務器端會話中實現。 如果頁面狀態已進入且未以安全方式退出,則重置頁面狀態。 當然,與所有旋轉鎖一樣,必須有一個安全狀態來清除鎖定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.