栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

标签或窗口处于非活动状态时,浏览器如何暂停/更改Javascript?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

标签或窗口处于非活动状态时,浏览器如何暂停/更改Javascript?

注意:此测试占用大量CPU。

requestAnimationframe
IE 9-和Opera 12-不支持。

该测试记录

setInterval
requestAnimationframe
在不同的浏览器中运行所需的实际时间,并以分发的形式为您提供结果。您可以更改毫秒数,
setInterval
以查看其在不同设置下的运行方式。延迟方面的
setTimeout
工作与a类似
setInterval
requestAnimationframe
通常默认设置为60fps,具体取决于浏览器。要查看切换到其他选项卡或不活动窗口时发生的情况,只需打开页面,切换到其他选项卡,然后等待一段时间。它将继续在不活动的选项卡中记录这些功能的实际时间。

测试

测试它的另一种方法是使用

setInterval
和反复记录时间戳,并
requestAnimationframe
在独立的控制台中查看它。当您使选项卡或窗口处于非活动状态时,您可以查看更新的频率(或者是否曾经更新)。

结果

*当该标签页处于非活动状态时, *Chrome浏览
器将最小间隔限制为

setInterval
1000毫秒左右。如果间隔大于1000ms,它将以指定的间隔运行。窗口是否聚焦不重要,仅当您切换到其他选项卡时,间隔才会受到限制。
requestAnimationframe
选项卡处于非活动状态时暂停。

// Provides control over the minimum timer interval for background tabs.const double kBackgroundTabTimerInterval = 1.0;

Firefox
与Chrome相似,

setInterval
当选项卡(而非窗口)处于非活动状态时,Firefox将最小间隔限制为1000毫秒左右。但是,
requestAnimationframe
当选项卡处于非活动状态时,运行速度将呈指数级降低,每个帧占用1s,2s,4s,8s等。

// The default shortest interval/timeout we permit#define DEFAULT_MIN_TIMEOUT_VALUE 4 // 4ms#define DEFAULT_MIN_BACKGROUND_TIMEOUT_VALUE 1000 // 1000ms

Internet Explorer
IE不会限制

setInterval
选项卡处于非活动状态时的延迟,但会
requestAnimationframe
在非活动选项卡中暂停。窗口是否未聚焦都没有关系。

Edge
从边缘14开始,

setInterval
在不活动的选项卡中,上限为1000ms。
requestAnimationframe
总是在非活动标签中暂停。

Safari
与Chrome浏览器一样,

setInterval
当该标签页处于非活动状态时,Safari的上限为1000毫秒。
requestAnimationframe
也暂停了。

Opera
自从采用Webkit引擎以来,Opera表现出与Chrome相同的行为。

setInterval
上限为1000毫秒,
requestAnimationframe
当该标签页处于非活动状态时会暂停。

摘要

非活动标签的重复间隔:

setInterval     requestAnimationframeChrome9-         not affected    not supported10         not affected    paused11+        >=1000ms        pausedFirefox3-         not affected    not supported4          not affected    1s5+         >=1000ms        2ns (n = number of frames since inactivity)IE9-         not affected    not supported10+        not affected    pausedEdge13-        not affected    paused14+        >=1000ms        pausedSafari5-         not affected    not supported6          not affected    paused7+         >=1000ms        pausedOpera12-        not affected    not supported15+        >=1000ms        paused


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614717.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号