2016-11-26 96 views
0

在reactjs不onbeforeunload工作,此代碼:陣營JS - 檢測後退按鈕

ComponentDidMount 
    window.onbeforeunload = function(e) { 
     return 'Are you sure you want to leave this page? You will lose any unsaved data.'; 
     }; 

只更新(F5,按Ctrl + R,更新)的工作,但是當單擊後退按鈕或退格鍵不起作用。

回答

1

只有當按下後退按鈕導致瀏覽器離開頁面時,纔會觸發window.onbeforeunload。如果你使用哈希來跟蹤頁面內狀態,那麼它不會爲你做任何事情。

如果是這種情況,則應改用window.onhashchange。如果情況並非如此,請在您的問題中提供更多詳細信息。

+0

我的客戶可能會更改頁面,但他不會隨着回來更改,onhashchange正在工作的每個更改url地址。 –

+0

是的,它的工作,但我希望客戶端不點擊返回按鈕,現在他顯示警報時客戶端已經離開上一頁,我writed,windows.onhashchange = function(){alert(你確定要離開這個頁面?您將丟失任何未保存的數據。') –