2012-08-07 101 views
1

我想創建一個應用程序,當它變得可見時做一些工作,並在其消失時做其他工作。這通常是通過頁面可見性api(http://css.dzone.com/articles/using-html5s-pagevisibility)完成的,但目前在Windows 8中不支持此功能:http://msdn.microsoft.com/en-us/library/ie/hh673553(v=vs.85).aspx如何判斷JS Windows8 metro應用程序是否可見

有回調onactivated和oncheckpoint,但這些是針對流程生命週期的,並不一定與應用程序可見性相關。具體來說,一個應用可以在被暫停之前轉到後臺很長一段時間。

任何幫助,將不勝感激。

- 亨利

+0

我不確定你指的是什麼鏈接。該功能與操作系統無關,而與瀏覽器無關,相反,IE *支持*。作爲對你的問題的迴應,如果它適合你,你可以用窗口焦點/模糊回退。 – davin 2012-08-08 00:27:35

+0

絕對 - 它被支持並且工作。我將其用於我的申請中,正是因爲你的建議。你確定你不在win8的舊版本中,它的前綴是? (msHidden屬性和msvisibilitychange事件) – 2012-08-08 00:31:07

回答

5

我想你想的visibilitychange事件。請參閱Document文檔here。更多關於應用程序生命週期事件here

應用可視性

當從您的應用程序到另一個應用程序,用戶交換機, 您的應用程序將不再可見,但仍處於運行狀態,直到 Windows可以將其掛起(約10秒) 。如果用戶切換 遠離您的應用程序,但在Windows 可以暫停它之前激活或切換回該應用程序,該應用程序將保持運行狀態。

由於 應用仍在運行,因此當應用可見性發生變化時,您的應用不會 會收到激活事件。 Windows只需切換到和從應用程序 。如果您的應用程序在用戶切換 時需要做某些事情,它可以處理VisibilityChanged | msvisibilitychange事件。

該可見性事件未與序列號爲 的恢復或激活事件相關聯。不要以爲這些事件以特定順序來到 。

-1

如果你想跟蹤應用程序焦點開關,你可以使用window.onblurwindow.onfocus。特別是在有用的多種環境中。

+0

OP說他對能見度感興趣,而不是焦點。 – 2013-03-06 13:34:58

相關問題