【发布时间】:2020-03-16 07:53:55
【问题描述】:
我正在跟踪我的应用程序的 javascript 报告的一些可笑的高加载时间,并发现当窗口在后台或显示屏关闭时,Android(和 iOS)会暂停一些 JavaScript 执行。
在 Android 上,我发现我可以使用 window.onfocus 和 onblur 事件来检测应用程序何时切换到后台(并且 js 执行很快就会暂停,至少对于新脚本而言),但我可以'找不到检测屏幕何时打开或关闭的方法。这可能吗?
(在 Safari 上,我得到了类似的结果,只是 onfocus 和 onblur 没有可靠地触发。)
【问题讨论】:
-
鉴于 Android 通常会进入某种锁定屏幕,关闭和打开屏幕是否不会触发
onblur和onfocus事件?我认为关闭它可能会触发onblur,至少唤醒它会触发onblur(如果没有关闭它),因为Android会打开锁定屏幕,然后在通过锁定屏幕后,onfocus会触发,因为您正在从锁定屏幕转换回活动应用程序。我不是 Android 专家,但我想如果你不检查的话,我会把这个想法扔掉。 -
好吧,我测试的时候没有,但是现在你提到它,我已经禁用了我的锁屏。只要我按下电源按钮,它就会回到我打开的最后一个应用程序。启用锁定屏幕会导致触发焦点和模糊事件。谢谢!
标签: javascript android ios mobile-safari android-browser