2017-08-30 154 views
0

我有reactjs應用程序,我試圖在瀏覽器close.but顯示警報,但一些不一致的行爲即將到來。有時它是不觸發瀏覽器刷新警報,但有時它顯示了alert.Below是我的代碼: -onbeforeunload onunload performance.navigation.type not working properly

window.onbeforeunload =() => { 
    let msg =undefined; 
    if (window.performance && performance && performance.navigation.type == 1){ 

    } 
    else{ 
     msg ='Are you sure?'; 
    } 
    return msg; 
}; 
window.onunload =() => { 
     if (localStorage.getItem('state')) { 
      localStorage.removeItem('state'); 
     } 
    } 

現在有時顯示在瀏覽器關閉按鈕單擊警報,但有時它關閉瀏覽器沒有任何警告,還有一段時間刷新警報即將到來,這是我的場景中預期不到的。我只想在瀏覽器關閉時顯示警報。請幫助我如何處理這種情況。許多類似的重複問題是也出現在StackOverflow中,但所有答案都是舊的,他們沒有使用現代瀏覽器概念。

回答

1

您無法檢測用戶是否要重新加載,或者他們是否想要更改window.onbeforeunloadwindow.onunload事件中的頁面。

PerformanceNavigation API只會告訴您用戶如何轉到當前頁面,而不會告訴您如何導航到window.onbeforeunloadwindow.onunload事件的下一頁。

+0

如何僅在瀏覽器關閉時顯示警報。 – jack123

+0

你不能,閱讀我的答案。 –

+0

爲什麼downvote? –