使用timeOut或类似的技术来轮询一个条件,这在某种程度上是违反我的信仰的。我更愿意处理一个事件,而不是不断地寻找事件发生的证据。
但是,由于对onHashChange事件的支持参差不齐,有人建议我使用一个每隔50ms轮询window.location属性的插件。
这样做有没有真正的风险(比如加工费)?或者我只是迷信?
发布于 2010-09-04 02:59:06
由于轮询window.location属性是一种常见的做法,因此我相信这并不涉及真正的风险。当我需要实现它的时候,我发现Google的gmail和“翻译”中都使用了这种轮询。
发布于 2010-09-04 03:03:47
当我最近问了一个类似的问题时,人们建议的投票频率是每秒一次:What is a good setTimeout interval for polling in a IE?
发布于 2010-09-04 03:56:04
我们使用120ms的setInterval来检查散列键。
尽管它是一个严重依赖javascript的单页面web应用程序,但轮询根本不会影响性能。
我没有尝试过IE6和IE7,但在IE8和其他当今常见的浏览器上一切都很好。
120ms的值是通过一些定性测试得出的。
当我使用后退/前进按钮时,我按20步播放。
我感觉不到低于120的值有什么不同。虽然我可以感觉到超过120的值越来越滞后。
但这可能取决于您的应用程序,轮询时间应该具有相对于应用程序的整体响应时间的值。
https://stackoverflow.com/questions/3638735
复制相似问题