簡體   English   中英

使用Javascript在頁面刷新時調用函數

[英]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/

請注意,如果用戶單擊 “刷新”按鈕,則不起作用。 攔截這個是不可能的。

如果您可以控制托管頁面的服務器端,那么您可以使用semaphorewiki:semaphore )在邏輯上處理它。 基本上它是一個旋轉鎖,它將在他們的服務器端會話中實現。 如果頁面狀態已進入且未以安全方式退出,則重置頁面狀態。 當然,與所有旋轉鎖一樣,必須有一個安全狀態來清除鎖定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM