javascript - 获取引用错误 : setInterval is not defined

标签 javascript firefox firefox-addon firefox-addon-sdk

我正在尝试在使用 firefox 附加 sdk 开发的扩展中使用 setInterval()。不幸的是,无论我如何调用 setInterval(),我都会收到未定义 setInterval 的 ReferenceError。

我简化了我的代码来说明问题。以下代码会导致此错误:

var globalTimer = 0;

function setGlobalTimer() {
    globalTimer = setInterval(testFunction, 15000);
    //globalTimer = setInterval(function() { testFunction(); }, 15000);
}

function testFunction() {
    console.log("testFunction just called");    
}

var { ToggleButton } = require("sdk/ui/button/toggle");
var button = ToggleButton({
    id: "my-button",
    label: "my button",
    icon: {
      "16": "./icon-16.png",
      "32": "./icon-32.png",
      "64": "./icon-64.png"      
    },
    onClick: handleClick
});


function handleClick(state) {
    testFunction();
    setGlobalTimer();
}

在 setGlobalTimer() 中设置全局变量 globalTimer 的两种方法,一种方法被注释掉,当我在 Firefox 中单击我的切换按钮时导致以下错误:

ReferenceError: setInterval is not defined

我已经扫描了 stackoverflow 站点以了解有关 setInterval() 不起作用的问题,而在其他情况下,使用我正在使用的调用是有效的。但是这段代码为我生成了上述错误。

如果有人能帮我解决这个问题,我将不胜感激。

提前致谢。

最佳答案

setInterval 目前不是带有附加 sdk 的全局变量。

你需要像这样var { setInterval } = require("sdk/timers")

关于javascript - 获取引用错误 : setInterval is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26703790/

相关文章:

javascript - 根据 json 对象的值更改 ajax 函数的输出

html - 为什么 Firefox 不会在没有错误消息的情况下启动 Css?

firefox - Firefox 中的框阴影颜色

javascript - 实时显示 Javascript 函数

javascript - 回调解决未处理的promise,为什么?

javascript - 用于检索 Podio 项目的 http 请求的完整 URI

javascript - 输入自动完成项目会影响提交按钮

css - 为什么 webkit 浏览器将 css 左位置值警告为 "auto",而值设置为 "0px"

firefox-addon - Firefox 扩展 javascript 模块 : what happens to unexported symbols?

firefox-addon - 火狐扩展 : Adding item to tools menu