我正在开发一个需要测量用户输入之间耗时量的应用程序。我更喜欢使用超时,但可以将时间值存储为变量并计算出已经过去了多长时间。该网络应用程序将主要在移动设备上使用。如果设备在设置超时时间和结束时间之间进入休眠状态,javascript 会判断是否已超出超时时间吗?
谢谢
最佳答案
简短回答:不。当手机浏览器切换到后台时,脚本不会被执行。
更复杂的答案:如果移动设备启用后台应用程序并且浏览器决定给予页面优先级,则脚本将继续执行。到目前为止,大多数设备都不是这种情况,尤其是 iPhone。
话虽如此,无论如何您都可以使用超时功能。当用户恢复页面时,该函数仍然被触发。超时事件只是“卡住”,但并没有取消。计时时钟也被暂停,所以你必须记住实际时间,并与“唤醒时间”进行比较。使用 setInterval 来拉动这个截止日期。如果超时提前到来,则取消 Interval 回调。
谢谢你的提问。这引起了我的思考。
关于javascript - 当移动设备处于 sleep 状态时,Javascript 超时是否继续执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21223199/