2010-01-06 72 views
0

我有一個Flash/Actionscript 3應用程序(SWF)。該應用程序每2秒向服務器發送一條消息。但是,在某些瀏覽器/操作系統(例如,mac中的safari)中,當瀏覽器失去焦點時,它會停止發送這些消息。Flash/Actionscript 3:Flash何時停止渲染以及如何保持活動狀態?

我在EVENT.ENTER_FRAME循環發送這些消息,所以每一個應用程序渲染的時候我一定要發送消息的機會。我的理論是,一些瀏覽器明顯地停止調用此方法/停止渲染出於某種原因,因爲它已失去焦點。但是,我想繼續發送這些消息。

我已經嘗試過使用Timer,每2秒會調用一次事件,但是我在某處閱讀(而且我的測試看起來同意),這個計時器也連接到渲染/幀輸入,所以timed功能也不會被執行。

有沒有辦法做我想要什麼?

回答

2

可以使用MOUSE_LEAVE stage event檢查時,你的SWF失去焦點。

我會使用ExternalInterface建立SWF和JavaScript之間的連接推薦。只要連接完成,請讓JavaScript調用服務器而不是閃光燈,這可能會導致焦點不清。

出於好奇,爲什麼你需要輪詢服務器每隔2秒?