回答
你可以玩window.history
,也可以在本地爲localstorage
或cookie存儲用戶的一些值。 (僅供參考,MDN article)
例如,檢查用戶在您的頁面上時的值window.history.length
;然後在其他地方導航;然後點擊「返回」返回到您的上一頁。現在再比較window.history.length
- 這是不同的(至少對我來說,在Chrome中)。
TL; DR - 這不會是一個萬無一失的方法,但它可能是一個很好的黑客攻擊你。
是的,那很好。我可以比較localStorage.historyLength和window.history.length。適合我! –
除非它們再次向前和向後按壓,否則它不起作用。 –
是的,的確如此。我不知道這可能是多麼的可能...但是考慮到其他可能的答案(通過在OP的評論中發佈的鏈接),似乎沒有一種完全可靠的方法來實現這一點。你可以結合方法。 – arthurakay
這是我最終做的。它的工作原理,但讓我知道,如果你有一個更好的解決方案:
window.addEventListener('unload', unload)
function unload() {
localStorage.setItem('reload',1)
}
var reload = localStorage.getItem('reload')
reload = parseInt(reload,10)
if (reload) {
localStorage.setItem('reload',0) // false doesn't work here.
window.removeEventListener('unload', unload)
window.location.reload()
}
- 1. 如何捕捉後退按鈕事件?
- 2. Android:FragmentActivity中的後退按鈕事件
- 3. 在後退按鈕觸發事件
- 4. Angular JS&Phonegap後退按鈕事件
- 5. 在按鈕中的C#後退事件
- 6. 破壞後退按鈕事件 - 安卓
- 7. 後退按鈕事件捕捉「提問」
- 8. 如何檢測後退按鈕事件?
- 9. ASP.NET瀏覽器後退按鈕事件
- 10. iPhone:捕獲後退按鈕事件
- 11. 捕捉後退按鈕導航事件
- 12. 後退按鈕和Javascript
- 13. Javascript和後退按鈕
- 14. Javascript或PHP後退按鈕
- 15. Javascript和IE後退按鈕
- 16. 後退按鈕使用JavaScript
- 17. 顯示事件偵聽器調用的JavaScript後退按鈕?
- 18. 如何將JavaScript事件附加到移動Safari後退按鈕?
- 19. 有沒有辦法在javascript中捕捉後退按鈕事件?
- 20. 分配後退按鈕事件以形成Android中的按鈕
- 21. 後退按鈕
- 22. Silverlight Windows Phone 7 - 使用硬件後退按鈕後丟失的按鈕事件
- 23. AS3 - 後退按鈕硬件?
- 24. 應用按後退按鈕當按下後退按鈕
- 25. Javascript後臺事件監聽器覆蓋了Android設備後退按鈕
- 26. KeyDown事件按下按鈕後退出工作
- 27. 的PhoneGap - Android的後退按鈕 - 如何捕捉按HOLD事件
- 28. 如何抓住UINavigationBar後退按鈕按下事件
- 29. 在Backbone.js中使用後退按鈕後多次觸發事件
- 30. POST事件後使用「後退」按鈕中斷頁面
不幸的是,我不認爲有這樣的事件,甚至有沒有爲自己的頁面上的返回按鈕,一個單獨的事件。我認爲你必須存儲會話和用戶重定向到的地址,然後在一定的時間範圍內檢查同一用戶是否來自同一個域,但這聽起來很複雜。 – adeneo
這裏的頂部答案http://stackoverflow.com/questions/829046/how-do-i-detect-if-a-user-has-got-to-a-page-using-the-back-button建議使用一個隱藏的表單,因爲這些值被保留 – bbill
嘗試'卸載'事件:https://developer.mozilla.org/en-US/docs/Web/Events/unload。也看到這個類似的問題:http://stackoverflow.com/questions/1341089/using-meta-tags-to-turn-off-caching-in-all-browsers – Pluto