我想在用戶離開頁面之前進行AJAX調用(基本上在離開頁面之前和刷新頁面之前)?如何知道用戶何時離開頁面並刷新頁面
這是怎麼做到的。我試圖用jQuery搜索某些東西,但沒有得到任何東西。
我嘗試使用下面的代碼 -
window.onbeforeunload(function(){alert('before unload');});
但離開頁面(關閉瀏覽器選項卡)時,或刷新頁面永遠不會出現的警告框。
這是如何實現的?
我想在用戶離開頁面之前進行AJAX調用(基本上在離開頁面之前和刷新頁面之前)?如何知道用戶何時離開頁面並刷新頁面
這是怎麼做到的。我試圖用jQuery搜索某些東西,但沒有得到任何東西。
我嘗試使用下面的代碼 -
window.onbeforeunload(function(){alert('before unload');});
但離開頁面(關閉瀏覽器選項卡)時,或刷新頁面永遠不會出現的警告框。
這是如何實現的?
$(window).unload(function() {
alert('Visitor left page');
});
關於Ajax調用,你可以做到這一點,但你必須設置async
到false
。
$.ajax({
async: false,
...
});
其值得注意的是,這在某些設備上不起作用,如iPad – Blowsie
你應該嘗試從unload() jQuery的:
$(window).unload(function(){
//Do your call
alert('before unload');
});
奧羅您可以使用beforeunload事件。你應該對它進行測試,因爲瀏覽器傾向於以不同的方式嵌入這些東西。取自jquery文檔:
卸載事件的確切處理從版本到 版本的瀏覽器有所不同。例如,某些版本的Firefox在遵循鏈接時會觸發 事件,但當窗口關閉時不會觸發該事件。在 的實際用法中,應在所有支持的瀏覽器上測試行爲, 並與專有的beforeunload事件進行對比。
onBeforeUnload,據我所知,是一個IE瀏覽器的事件。其他瀏覽器可能已經實現了它,但沒有確定。也許可以解釋目的,我們可以找到一個替代解決方案?抓住用戶離開相當困難... –
PS,[MDN onbeforeunload](https://developer.mozilla.org/zh/DOM/window.onbeforeunload)。同樣,它上面的[MSDN文檔](http://msdn.microsoft.com/en-us/library/ms536907%28VS.85%29.aspx)。 –
布拉德 - 我正在做一些跟YouTube視頻有關的跟蹤,比如用戶觀看視頻的實際持續時間。爲此,我使用採樣率(如5秒)並更新視頻結束時需要發送給服務器的全局JS變量。另外,用戶可以在觀看其中的一部分後(在到達視頻結束之前)離開/重新加載頁面。所以我需要知道用戶什麼時候離開/重新加載頁面,以便我可以對服務器進行AJAX調用。另外,想問這是否是推薦的方式? – Siddharth