我想告訴每當你離開頁面(不是惱人的警告,只是一些HTML告訴你等待)的消息,在考慮這個問題,我面臨一定的困難:javascript location.href onchange事件監聽器?
當用戶在 瀏覽器中按下停止,取消導航離開 操作,我想消息去 了。
只要有任何鏈接被點擊,就會出現該消息。
當點擊鏈接只是打開另一個選項卡(忽略_blank目標)
這樣說,應該無法捕捉的,觸發事件是非常簡單的,只有像
$(document).unload(function()
{
// display message
});
問題是,如果用戶取消,消息不會消失。
一個可能的解決將是:
$(window).unload(function()
{
// display message
setTimeout(function()
{
// hide message
},5000);
});
,但我想知道是否有一個更清潔的方式,只是當用戶取消了導航(或失敗任何其他原因),我可以隱藏消息。
編輯#2:
我只注意到與上面的代碼,在FF沒有顯示消息,直到頁面留在如果用戶按下停止這一點,他將收到有關:空白。如果他在此之前按下「停止」,則不會顯示該消息。這正是我想要的。
在Internet Explorer中,消息從不顯示,我假設這是因爲IE處理的東西不同。我想知道在Chrome中會發生什麼?
嗯...我喜歡這個,儘管IE並沒有顯示這個消息。我猜$(窗口).unload函數永遠不會在IE中觸發? – bevacqua 2010-10-24 21:16:06
$(window).unload會觸發,如果你有jQuery也加載和頁面實際上卸載,因爲在另一個頁面正在加載通過此頁面。我從問題中複製$(window).unload,這是使用錯誤的事件。我已經改變了上面的代碼,它現在應該工作。 – Eric 2010-10-25 05:01:24