javascript - 如果页面不活动,Chrome 会减慢 javascript

标签 javascript performance google-chrome settimeout setinterval

<分区>

如果我编写使用 setTimeout/setInterval 的 javascript 代码,如果相关页面未激活,时间在 Chrome 上将无效。 为了演示,只需简单地创建一个带有 js 代码的 html 文件,如下所示:

<script>
    var title = 1;
    setInterval(function(){document.title = "X:"+title; title+=1}, 250);
</script>

多次打开页面,您会发现如果页面未激活,标题只会在大约 2 秒内递增,而不是 250 毫秒。这是我发展中非常关键的问题。 有谁知道如何规避它?如果有的话,一个简单的 Chrome 选项也足够了。

只是将其标记为不重复:它不是用于动画,而是用于后台工作。提供的示例非常准确!我需要非常准确地运行脚本并在后台选项卡中快速执行操作。我知道,99,9999% 的人不需要它...

最佳答案

这两个函数都没有被认为是准确的。你永远不应该依赖提供的时间跨度。当您的页面不可见时,浏览器可能会在一定程度上强调这种不准确性。

实际上,使用常规网页继续在后台工作是没有意义的。如果您确实需要这样做,请尝试使用 WebWorker。该网页用于用户交互......用户交互不是故意在后台发生的。在后台处理事物最好放在工作线程中。因此,这全都与运行时上下文匹配代码的概念意图有关。

关于javascript - 如果页面不活动,Chrome 会减慢 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45745595/

相关文章:

javascript - 为 jQuery UI Droppable 的 Intersect tolerance 构建匹配选项

performance - ‘must’ 和 ‘must_not’ 之间的 Elasticsearch 性能差异

javascript - 有什么方法可以优化这个可能呈现数百万个组件的 React 应用程序

perl - 通过 Perl 脚本控制 Google Chrome

javascript - 本地 anchor 链接在 chrome 桌面浏览器中不起作用

javascript - 使用 JavaScript 按下提交按钮时更改表单操作

javascript - 删除 HTML 文件中的任何字符串 python

HTML div 不显示浏览器打印

javascript - webpack watch 实例之间的缓存

javascript - 更快地操作现有的 HTML 或删除 HTML 然后重新创建它?