2011-03-09 8 views
4

新しいアドオンビルダープレビュー(https://builder.addons.mozilla.org/)でアドオンを作成しようとしています.10分ごとに約1回実行する関数が必要です。私はのsetIntervalやsetTimeoutを両方を試してみましたが、彼らの両方が次のエラーを返す:Firefoxのアドオンに定期的なタイマーを追加するにはどうしたらいいですか?

error: An exception occurred. 
Traceback (most recent call last): 
    File "resource://jid0-31njasqk3btmpa6paroepuybjn4-myaddon-lib/main.js", line 41, in 
    setTimeout(function() { timedCount(); }, 10000); 
ReferenceError: setTimeout is not defined 

(私はそれをしようとしたときのsetTimeoutをしたsetIntervalで置き換えられてsetTimeout関数は、私が構築された同様のWebページで素晴らしい仕事を私はちょうど。関数が無限ループを与えるために自分自身を呼び出していました(愚かな音ですが、whileループが必要ですが、チュートリアルの中にあります) しかし、今は私のアドオンでそのエラーを越えることはできません。

またこのアドオンでローカルまたはリモートのページを解析できるようにすることができれば(リモートであることが望ましいが、代わりにlocalhost上でdjangoで作成されたページを解析できるようにすることもできます)、それ以上にもPythonを使用する方法を教えてください;)that woul dは素晴らしいです。

ありがとうございます!

+0

あなたの解析の質問については、別の質問を作成してください。 – ThiefMaster

答えて

5

使用timer modulehttps://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsITimer

それは必要ありません:

var tmr = require('timer'); 
tmr.setInterval(timedCount, 10000); // no need for an anon function since you don't pass any arguments to your function nor capture anything in a closure 
+0

ありがとう!それは素晴らしい作品です!残念ながら、私はまだその機能ではあまり働くことができません:( – Crazedpsyc

9

上記

var tmr = require('sdk/timers'); 

は今、代わりに

2

使用nsITimerを使用されている推奨されませんのでご了承くださいあなたは不要なものを使用するy Jetpack SDK、および余分なrequire機能をサポートしています。 Mozillaアドオン内で他のXPCOMのやりとりと同じようにComponents.classesを使用することができます。

関連する問題