How to tell if JS Windows8 metro app is visible or not

こ雲淡風輕ζ 提交于 2019-12-09 01:49:02

问题


I am trying to create an app which does some work when it becomes visible, and does other work when it goes away. This is typically accomplished with the page visibility api (http://css.dzone.com/articles/using-html5s-pagevisibility) but this is not currently supported in windows 8: http://msdn.microsoft.com/en-us/library/ie/hh673553(v=vs.85).aspx

There are callbacks onactivated and oncheckpoint but these are for the process lifecycle and are not necessarily related to app visibility. Specifically, an app can go to the background for quite some time before it is suspended.

Any help would be appreciated.

-- Henry


回答1:


I think you want the visibilitychange event. See the Document documentation here. More on application lifecycle events here.

App visibility

When the user switches from your app to another app, your app is no longer visible but remains in the running state until Windows can suspend it (for about 10 seconds). If the user switches away from your app but activates or switches back to it before Windows can suspend it, the app remains in the running state.

Your app doesn't receive an activation event when app visibility changes, because the app is still running. Windows simply switches to and from the app as necessary. If your app needs to do something when the user switches away and back, it can handle the VisibilityChanged | msvisibilitychange event.

The visibility event is not serialized with the resume or activation events. Don't assume that these events come in a particular order.




回答2:


If you want to track app focus switches you could use window.onblur and window.onfocus. Especially in multimon environments that's helpful.



来源:https://stackoverflow.com/questions/11855715/how-to-tell-if-js-windows8-metro-app-is-visible-or-not

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!