2011-05-21 95 views
4

當我開始擴展它查詢我的網站的XML文件,一旦它的文件時,它觸發關閉一個簡單的提示,顯示最新的文件已經下載的用戶。火狐插件/ JavaScript的setTimeout的問題

問題是因爲文件只有幾KB它開始加載瀏覽器之前,它可能發生的「OK」非常快,警報等待被點擊。

我通過把警報在30秒,這應該給瀏覽器足夠的時間來加載(以及開始加載任何保存選項卡)警報出現之前的setTimeout解決了這個。

我的問題很簡單,保持運行像計時器...是沉重的資源還是會影響到較慢的機器或什麼? 在Firefox插件中有30秒太長的時間了?

回答

2

關於計時器,您已經有了一些很好的答案,所以讓我們專注於提醒對話框本身。你不應該以這種方式使用警告對話框。用戶不喜歡他們。

相反,使用彈出式多士爐警報來告訴用戶文件已下載。有關使用彈出式警報服務的信息,請參閱此MDC文檔:
https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIAlertsService

+0

是的,警報可能會令人討厭,但是對於這一點來說並不陌生,並且不知道有更好的方法來做到這一點,這要歸功於你和我現在所做的鏈接! – Ryan 2011-05-21 10:56:15

+0

無論如何要配置它顯示的時間嗎? – Ryan 2011-05-21 10:57:59

3

定時器不在資源重,如果明智地使用(即,不旋轉起來在1毫秒的時間間隔3000個定時器)。

雖然,人們不禁要問,使用的警報......這似乎並不像它曾經做正確的事。

+0

感謝您的回覆!我只有4個定時器發射大約5秒而不是3000! :))不知道比定時器更好的方式,但感謝下面的馬克我現在做! – Ryan 2011-05-21 10:54:52

2

計時器在它開始工作之前什麼也不做。它只是在計時器隊列中。如果周圍沒有其他定時器(不太可能),則定時器線程甚至不會被喚醒,直到此時間點纔會觸發。

+0

感謝您的答覆和清理! – Ryan 2011-05-21 10:55:17