我正在尝试创建一个应用程序,当它变得可见时执行一些工作,并在它消失时执行其他工作。这通常通过页面可见性api(http://css.dzone.com/articles/using-html5s-pagevisibility)来完成,但Windows 8目前不支持此功能:http://msdn.microsoft.com/en-us/library/ie/hh673553(v=vs.85).aspx
有回调onactivated和oncheckpoint,但这些回调是针对流程生命周期的,并不一定与应用可见性相关。具体来说,应用程序可以在暂停之前进入后台很长一段时间。
任何帮助都将不胜感激。
- 亨利
答案 0 :(得分:5)
我想你想要visibilitychange事件。请参阅Document
文档here。有关应用程序生命周期事件的更多信息here。
应用可见性
当用户从您的应用切换到另一个应用时, 您的应用程序不再可见,但一直处于运行状态,直到 Windows可以暂停它(大约10秒钟)。如果用户切换 远离您的应用程序,但在Windows之前激活或切换回它 可以暂停它,应用程序仍然处于运行状态。
您的应用没有 在应用可见性更改时收到激活事件,因为 应用程序仍在运行。 Windows只需切换到应用程序或从应用程序切换为 必要。如果您的应用需要在用户切换时执行某些操作 离开和返回,它可以处理VisibilityChanged | msvisibilitychange事件。
可见性事件未序列化 简历或激活事件。不要以为这些事件会发生 按特定顺序。
答案 1 :(得分:-1)
如果您想跟踪应用焦点开关,可以使用window.onblur
和window.onfocus
。特别是在有用的multimon环境中。