我需要監視用戶離開頁面(到不同的站點不是相同的站點)或關閉窗口/選項卡。我可以通過$(window).bind('unload', function() {});
來實現這一目標,但onload
是一個全面的事件:它還捕獲頁面刷新並導航到同一網站上的其他頁面。如何使用javascript/jQuery檢測這兩個事件(頁面刷新和導航到同一網站中的另一個頁面)?JavaScript的卸載和beforeunload替代
4
A
回答
3
我認爲這是不可能的,我不知道這樣的事件。
一個可能的解決方案是比較目標網址當前URL但是這是因爲安全和隱私的原因不可能看到:
How can i get the destination url in javascript onbeforeunload event?
2
在每一頁上,
var leaving = true;
$(function() {
$('a[rel!=ext]').click(function() { leaving = false; });
$('form').submit(function() { leaving = false; });
});
$(function() { window.onbeforeunload = unloadPage; });
function unloadPage() {
if(leaving) {
// Put your logic here
}
}
然後只要確保到外部網站的所有鏈接都具有rel="ext"
屬性。
相關問題
- 1. jquery:卸載或beforeunload?
- 2. jQuery的卸載VS beforeunload
- 3. 在卸載/ beforeunload時發送帶有Javascript的帖子請求。那可能嗎?
- 4. 裝載和卸載的JavaScript動態
- 5. javascript iframe卸載
- 6. 卸載加載的Javascript
- 7. 在運行時加載和卸載javascript
- 8. 停止頁面在beforeunload事件處理程序中卸載
- 9. 檢測刷新瀏覽器卸載/ beforeunload當瀏覽器關閉
- 10. 動態加載/卸載Javascript
- 11. 加載/卸載onClick Javascript
- 12. 的jQuery,JavaScript的卸載
- 13. 要卸載的代碼imutils
- 14. jQuery的AJAX加載/卸載HTML + JavaScript的
- 15. jQuery的加載()的Javascript替代()
- 16. javascript窗口卸載事件
- 17. 卸載信息 - 使用Javascript
- 18. 延遲之前卸載Javascript
- 19. 攔截JavaScript卸載事件
- 20. JavaScript的替代
- 21. 的Javascript替代
- 22. Javascript Popup和Class代替ID
- 23. 裝載和卸載NSBundle
- 24. 加載和卸載圖像
- 25. 加載和卸載消息
- 26. 加載和卸載uiviewcontrollers
- 27. 卸載pip和easy_install
- 28. window.close()的和beforeunload事件
- 29. Android - 使用代碼卸載
- 30. 卸載代碼/模塊
當用戶在導航欄中輸入一個新的URL(可能是同一個域,或者可能不是)時,這不起作用,只要用戶點擊頁面上的鏈接即可。此外,您可以將表單發佈到不同的域。 –
如果用戶輸入一個新的url(儘管我認爲不適用於Opera?),unloadPage()處理程序會觸發。但是,如果新網址位於當前網站的範圍內,那麼是的,您可能會得到誤報。 – mikeagg
通過編寫更智能的邏輯可以處理髮布到當前網站外部的URL的表單,而不是簡單地設置leaving = false。 – mikeagg