如何在Firefox插件中添加定期计时器?

Cra*_*syc 4 javascript firefox gecko

我正在尝试使用新的插件构建器预览(https://builder.addons.mozilla.org/)创建一个插件,我需要一个每10分钟运行一次的函数.我已经尝试了setInterval和setTimeout,但它们都返回以下错误:

    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
Run Code Online (Sandbox Code Playgroud)

(当我尝试时,setTimeout被setInterval替换.setTimeout函数在我构建的类似网页中运行得很好.我只是让函数调用本身给出一个无限循环(听起来很愚蠢,应该有一个while循环,但是它是在教程中;)但现在我无法在我的插件中超过该错误.

另外,如果你可以帮助我解析这个插件中的本地或远程页面(最好是远程的,但我可以让它在localhost上解析一个django创建的页面),或者甚至更好,只需告诉我如何使用python;)会很好.

谢谢!

Tub*_*ght 9

请注意,以上内容已被弃用

var tmr = require('sdk/timers');
Run Code Online (Sandbox Code Playgroud)

现在用来代替


Thi*_*ter 5

使用计时器模块:

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
Run Code Online (Sandbox Code Playgroud)