相关疑难解决方法(0)

Chrome:在后台标签中暂停超时/间隔?

我正在测试setTimeout使用测试的准确性.现在我注意到(正如预期的那样)setTimeout并不是非常准确,但对于大多数设备并不是非常不准确.现在,如果我在Chrome中运行测试并让它在后台标签中运行(那么,切换到另一个标签并在那里浏览),返回测试并检查结果(如果测试完成),它们会发生显着变化.看起来超时运行速度慢得多.在FF4或IE9中测试没有发生这种情况.

因此,看起来Chrome暂停或至少减慢了无法关注的标签中的javascript执行速度.关于这个问题在网上找不到多少.这意味着我们无法运行后台任务,例如使用XHR调用定期检查服务器,并且setInterval(我怀疑看到相同的行为setInterval,如果有时间,我会编写测试).

有没有遇到过这个?这种暂停/减速会有解决方法吗?你会把它称为一个错误,我应该这样提交吗?

javascript tabs google-chrome settimeout

117
推荐指数
4
解决办法
8万
查看次数

来自另一个选项卡时,Jquery setInterval太快

我有一个使用jquery的setIntervall()函数无限滑动图像的网站.

在Chrome 13中调用页面时,我切换到另一个选项卡几秒钟后返回,图像滑动发生得更快,好像它试图保持到原来的状态,如果它没有切换到另一个选项卡.

我该如何解决这个问题?

$(window).load(function() { 
    setInterval(nextSlide, 3500);
});

function nextSlide(){   
    offset += delta;
    $("#slideContent").animate({left: -1 * offset}, 1000);
}
Run Code Online (Sandbox Code Playgroud)

解:

我选择了jfriend00的第一个建议.现在,当窗口变为非活动状态时,我会关闭计时器.

可以在这里找到这样做的简单代码.

javascript jquery google-chrome setinterval

10
推荐指数
1
解决办法
8021
查看次数