其實,這是我最後的question的延續。我仍然面臨問題,因爲當我刷新瀏覽器,無論是卸載或beforeunload也解僱了我只希望他們在瀏覽器關閉時。只是在我腦海中想要使用window.outerHeight或window.innerHeight,但仍然無法弄清楚如何做到這一點。任何建議/片段?提前致謝。檢測刷新瀏覽器卸載/ beforeunload當瀏覽器關閉
回答
據我知道這是不可能檢測到從瀏覽器中刷新單獨關閉瀏覽器,因爲瀏覽器不提供網頁(窗口)與信息。就你的頁面和它的Javascript代碼而言,這兩個是一樣的。
因爲它是你需要的,得到它是使用一些能夠訪問這些信息,即只有這樣的瀏覽器信息。一個瀏覽器插件。但是,您需要爲每個瀏覽器創建一個插件,並讓每個用戶安裝它。由於我非常懷疑你會發現這是值得的,你的問題的真正答案(儘管可能會令人沮喪)是:停止嘗試檢測刷新與關閉並繼續前進。
其實,我只是意識到我說的並不完全正確:你*可以*使用本地存儲來跟蹤最後一頁加載的時間('var localStorage.lastLoad = new Date()'),然後檢查那個時間在頁面加載;如果'new Date()'足夠接近'localStorage.lastLoad',則可以推斷髮生了重載。但是,除非他們重新加載,否則這仍然不會讓你對這些信息做任何事情,所以這可能不是很有幫助。 – machineghost
你能否給出更確切的片段?我仍然不明白你的觀點。在此先感謝 –
我的評論是更多的一邊試圖儘可能事實準確;這不是一個真正的解決方案。當有人離開你的頁面(即onBeforeUnload)時,它*不會*告訴你他們是否正在重新加載,轉到不同的頁面或完全關閉瀏覽器。它會告訴你的是,當頁面首次加載時,用戶只是刷新或第一次來到頁面(即使這樣,它只是一個猜測)。 – machineghost
- 1. 卸載時關閉瀏覽器窗口
- 2. 檢測用戶瀏覽器是否關閉瀏覽器
- 3. 檢測瀏覽器關閉在jquery/JavaScript跨瀏覽器
- 4. 瀏覽器 - 檢測瀏覽器關閉或標籤接近
- 5. Silverlight 4:檢測瀏覽器F5 /刷新和X /關閉
- 6. 鉻:當瀏覽器關閉
- 7. 在Javascript中檢測瀏覽器刷新
- 8. Javascript檢測瀏覽器關閉
- 9. Flex BlazeDS檢測瀏覽器關閉
- 10. 檢測瀏覽器/選項卡關閉
- 11. 檢測vb.net瀏覽器關閉事件
- 12. 如何檢測瀏覽器關閉?
- 13. 在Asp.net上檢測瀏覽器關閉
- 14. 在ASP.NET中檢測關閉瀏覽器
- 15. 檢測瀏覽器加載
- 16. 刷新瀏覽器?
- 17. 關閉瀏覽器
- 18. 當瀏覽器刷新localStorage刷新
- 19. 的Html - beforeunload - 跨瀏覽器
- 20. Window.addcloseHandler和Window.addwindowClosingHandler不會影響瀏覽器關閉和瀏覽器刷新事件
- 21. 瀏覽器檢測
- 22. 瀏覽器檢測
- 23. 瀏覽器檢測
- 24. 當硒瀏覽器在瀏覽器中更改url時檢測
- 25. 使用Javascript/AngularJS檢測/防止瀏覽器關閉或會話存儲卸載
- 26. 關閉子瀏覽器和使用C#重新加載父瀏覽器#
- 27. StrongLoop API瀏覽器刷新
- 28. 刷新瀏覽器angular2
- 29. 瀏覽器刷新行爲
- 30. C#刷新瀏覽器
至於服務器或瀏覽器而言,親密和導航離開該頁面是同義的。 –
@BradChristie:如果它的代名詞,然後就會有沒有機會只對收盤瀏覽器隔離卸載/ beforeunload事件? –
正確的假設。你可以重新訪問,因爲服務器會執行一個新的動作,但如果什麼都沒有發生,你就無法捕捉到這個(關閉窗口)的缺席。這就是爲什麼網站使用「上次訪問後的時間」來確定誰仍然「在線」。 –