持续投票是否存在真正的风险?

时间:2010-09-03 18:56:42

标签: javascript jquery

使用timeOut或类似技术调查病情有点“违背我的宗教信仰”。我宁愿处理一个事件而不是不断搜索事件发生的证据。

但是,由于对onHashChange事件的支持不足,建议我使用一个插件每隔50ms轮询一次window.location属性。

这样做是否存在真正的风险(例如处理费用)?或者我只是迷信?

4 个答案:

答案 0 :(得分:1)

当我最近问过类似的问题时,人们建议每秒调查一次:What is a good setTimeout interval for polling in a IE?

答案 1 :(得分:1)

我们使用setInterval 120ms来检查哈希键 虽然它是一个单页网页应用程序,严重依赖于javascript,但轮询并没有达到性能。

我没有尝试IE6和IE7,但IE8和其他当今常见浏览器的一切都很好。

120ms的价值是通过一些定性测试得出的。
我使用后退/前进按钮时按20步播放。
我感觉不到低于120的值的差异。虽然我可以感觉到超过120的值的增长滞后。

但这可能取决于您的应用,轮询时间应该具有相对于应用整体响应时间的值。

答案 2 :(得分:0)

由于轮询window.location财产是一种常见做法,因此我认为不存在真正的风险。当我需要实现它时,我发现在Google的gmail和“翻译”中使用了这样的轮询。

答案 3 :(得分:0)

这里最大的问题是你的window.location检查代码每秒会执行20次,这看起来有点矫枉过正。

你可能想在IE上测试它,看看它有什么样的减速,因为IE将成为JS相关的最大问题。