移动WebKit浏览器 - setTimeout和非活动页面

use*_*083 8 javascript mobile webkit

我有一个问题,当页面变为非活动状态并再次重新激活时,Mobile WebKit浏览器(即Mobile Safari和Android浏览器)如何处理setTimeout功能.

让我们假设页面变为非活动状态(即手机屏幕进入'睡眠'/我们打开另一个应用程序/我们打开另一个网页),并且应该在页面再次激活之前激活setTimeout功能.

现在对我来说似乎:

  1. 一旦页面被激活,Mobile Safari就会执行该功能
  2. Android浏览器:
    • 可能像往常一样执行该函数(即,即使页面处于非活动状态,JavaScript也会继续运行)
    • 可以在页面激活后立即执行(移动Safari)
    • 可能根本没有执行

我想知道是否有人知道确切的"规则"?

que*_*est 1

根据以下问题,Android 只是暂停运行时,并且当浏览器进入前台时,它会从中断处继续执行。

最小化时的 Android 浏览器 javascript 事件

与您所说的 Mobile Safari 略有不同,但恕我直言,这似乎是更好的方法。