Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS:setTimeout在最小化浏览器时由Chrome浏览器限制_Javascript_Google Chrome - Fatal编程技术网

Javascript JS:setTimeout在最小化浏览器时由Chrome浏览器限制

Javascript JS:setTimeout在最小化浏览器时由Chrome浏览器限制,javascript,google-chrome,Javascript,Google Chrome,我正在尝试使用setTimeout每隔100ms发出一个Bosh请求。当选项卡处于活动状态时,它工作正常 但当最小化选项卡时,它不起作用。相反,它每1分钟触发一次请求 Chrome正在限制setTimeout功能 有没有办法解决这个问题?我想克服这种行为 这里我使用的是Strophe.js。setTimeout函数是由Strophe.js文件调用的。首先,我想问一下为什么不使用setInterval来执行此任务,因为据我所知,您希望每100毫秒启动一次,对吗 其次,没有真正的解决方法,因为这是标

我正在尝试使用setTimeout每隔100ms发出一个Bosh请求。当选项卡处于活动状态时,它工作正常

但当最小化选项卡时,它不起作用。相反,它每1分钟触发一次请求

Chrome正在限制setTimeout功能

有没有办法解决这个问题?我想克服这种行为


这里我使用的是Strophe.js。setTimeout函数是由Strophe.js文件调用的。首先,我想问一下为什么不使用setInterval来执行此任务,因为据我所知,您希望每100毫秒启动一次,对吗

其次,没有真正的解决方法,因为这是标准的浏览器行为,可以防止非活动浏览器选项卡的高CPU使用率

谷歌实际上发布了一篇博客文章,你可以找到 这里=>

这是在ChromeV88中实现的


他们还提到了一些更准确地处理这种行为的技术。

广义上说,没有。Chrome会让你重新考虑,如果标签最小化,你是否真的需要做一些经常做的事情。为什么一开始你需要每100毫秒发送一次请求?也许还有比使用超时/间隔更合适的解决方案?@Ivar实际上这100毫秒是为了让用户能够通过XMPP向终端服务器发出通知,它被称为strophe.js。(这是第三方js,不是我的js)我正在使用BOSH连接来处理这个问题。感谢分享。我已经看过了。我想在代码方面做这个,而不是浏览器配置