我有要求處理瀏覽器上的事件,如回來,刷新和跨瀏覽器關閉。問題是我的客戶需要針對每個事件採用不同的邏輯。 對於後退按鈕,該解決方案是相當精緻:如何區分刷新(通過F5 /刷新按鈕)和關閉瀏覽器?
,但現在很難刷新和密切加以區分,所有的解決方案,我發現是關於使用「beforeunload」事件:
- How to know whether refresh button or browser back button is clicked in firefox
- Handle refresh page event with javascript
- https://forums.asp.net/t/1829278.aspx?Detect+Browser+refresh+reload+button+click+in+all+browsers按F5(這一個不穩定的工作)
- https://www.quora.com/What-is-the-best-way-to-detect-refresh-event-in-jquery
- https://www.sitepoint.com/community/t/detect-refresh-button-in-the-browser/1119/22
刷新,我可以在鍵盤上趕上事件,但是當瀏覽器用戶按刷新按鈕,我不能。如果我使用「beforeunload」,則關閉瀏覽器事件也是一樣。
我還發現了一個變通方法解決方案:
但不幸的是,我想要做的是顯示頁面卸載之前消息(顯示在瀏覽器接近但不刷新時)
有沒有人知道它的解決方案(跨瀏覽器)
謝謝
嗨@ankit_sharma 我認爲localStorage會更好 –
我認爲sessionStorage會更好:P – Winnie
是的,它適用於我的情況。在beforeunload我設置標誌isUnloadPage,並在加載事件我可以得到這個標誌,所以我可以知道用戶只是刷新頁面,如果用戶關閉瀏覽器,我的加載功能將無法正常工作。不知何故它是解決方法。謝謝 –