2011-11-23 62 views
0

我想保存卸載事件以便稍後執行。例如:jQuery:保存卸載事件供以後使用

// on unload do nothing but safe the event 
jQuery(window).unload(function() { 
      // TODO safe the unload event here somehow 
      // unloadEvent = this; 
      return false; 
}); 

後來,另一段代碼應該可以這樣執行先前保存的事件,例如:

function finallyUnload() { 
     // TODO 
     // unloadEvent.perform(); 
} 

有沒有辦法做到這一點?

更新

我的瀏覽器窗口中有一個Java應用程序硒溝通,需要等待,直到它收到的有關卸載事件的信息以及如何發生的。遇到這種情況時,可以執行卸載事件。

我明白,卸載事件不能延遲或停止,所以我有另一個想法。如何攔截所有與href和按鈕鏈接的點擊,以及表單提交。然後我手動將window.location設置爲所需的URL或提交表單。這可以工作嗎?

+0

'我要保存卸載事件以後on'執行它。你能否定義'稍後'? 'unload'事件發生後,頁面上沒有太多的JavaScript執行。那麼,實際上可能會有,但不會在用戶離開它的同一頁上。 –

+0

您無法取消「卸載」事件,期間。 – SLaks

+0

@Darin:我的瀏覽器窗口正在與一個Java Selenium應用程序進行通信,需要等待它收到關於卸載事件以及它發生的信息。在這種情況下,可以執行卸載事件。 – Alp

回答

0

我找到了解決方法。我攔截了所有的clicksubmit事件,並在我的應用程序提取需要的事件數據後保存它們以備將來使用。

但它並不適用於所有情況:Intercept JavaScript unload events