【webview】h5倒计时不准问题解决

文章目录

    • 场景
    • 原因
    • 解决

场景

h5页面有一个倒计时,黑屏后一段时间再打开发现倒计时不准,明显落后。

原因

h5黑屏后,JavaScript的计时器在页面不可见的暂停了,这是浏览器的优化机制,为了节省资源,暂停了页面的脚本执行。

解决

记录目标时间的时间戳。每次:

  • 回到页面:对应客户端的onResume事件,如切Tab回到页面
  • 回到前台:页面由不可见变可见,visibilitychange事件触发

时,重新计算当前时间到目标时间的倒计时。每次重新计算可以保证倒计时准确。但让倒计时一直减少未必准确。

你可能感兴趣的:(webview,前端)