2008-10-07 103 views

回答

0

有Body.onUnload,但我不知道它實際上是多麼可靠。

0

我發現的最接近的東西是javascript window.onunload事件。但是,您無法在Flex應用程序中真正監聽此內容,因爲在調用卸載方法時應用程序可能不再運行。我們用它通過javascript向頁面的其他部分發出信號,表示該應用程序已卸載,因此取決於您需要做什麼可能就足夠了。

1

編輯:我意識到這可能不是你所要求的,但我會留下它,以防它對任何尋找它的人有幫助。另外請注意,除非卸載例程過於複雜(在這種情況下,您應該考慮改變您的設計),否則您可以在用戶訪問確認對話框之前通常可靠地執行onbeforeunload事件來執行其他操作。


onbeforeunload讓你打斷頁卸載:

window.onbeforeunload = function(e) { 
    // Browser will pop up a confirmation dialog, with some text before 
    // and after your return string; try it in different browsers to 
    // see how they behave. 
    return 'String to confirm'; 
} 
0

問題是,當用戶導航離開時需要做什麼?

如果你需要在你的服務器上執行一個動作,那麼處理這個動作的最好方法是當你的swf初始化時打開一個Socket(),然後當用戶離開時該套接字將被終止,服務器可以檢測到並執行其他邏輯。

如果你需要執行一個客戶端操作,比如保存一個SharedObject,那麼你不能依賴「插入最後一件事」事件,因爲有很多方法可以關閉插件會話。在這種情況下,您最好的選擇是每隔幾秒不斷保存SharedObjects。

相關問題