FireFox插件/ javascript setTimeout问题

时间:2011-05-21 03:02:27

标签: javascript firefox firefox-addon settimeout

当我的扩展程序启动时,它会向我的网站查询xml文件,一旦获取该文件,它就会触发一个简单的警告,告诉用户最新的文件已被下载。

问题是因为文件只有几kb,它可以非常快地发生,并且警报在开始加载浏览器之前等待“ok”被点击。

我通过将警报设置为30秒的setTimeout来解决这个问题,这应该会在警报出现之前为浏览器提供足够的时间来加载(以及开始加载任何已保存的选项卡)。

我的问题是一个简单的问题,让计时器保持运行状态......资源是否繁重,还是影响较慢的机器或任何东西? 在Firefox插件中有一个计时器30秒太长了吗?

3 个答案:

答案 0 :(得分:3)

如果明智地使用,定时器对资源的影响不大(即,不要以1ms的间隔旋转3000个定时器)。

虽然,人们对使用警报感到疑惑......这似乎不是正确的事情。

答案 1 :(得分:2)

计时器什么都不做,直到它开始发射。它只是位于计时器队列中。如果周围没有其他计时器(不太可能),计时器线程甚至不会被唤醒,直到它被触发为止。

答案 2 :(得分:2)

您已经有一些关于计时器的好答案,所以让我们关注警报对话框本身。您绝不应该以这种方式使用警报对话框。用户不太喜欢他们。

相反,使用弹出式多士炉警报告诉用户文件已下载。有关使用弹出警报服务的信息,请参阅此MDC文档:
https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIAlertsService