2

以为我会尝试为 firefox 构建和扩展,所以我使用 Add-on Builder 在 MDC 构建了一个基本扩展。当我单击工具菜单中的扩展程序时,它会弹出一个 hello world 弹出窗口,但它没有。

我认为它的 onLoad 函数无法从 nigol-strings 中获取数据。但是,如果它是从 MDC 网站生成的代码,为什么会出现错误或者是我?

var nigol = {
  onLoad: function() {
    // initialization code
    this.initialized = true;
    this.strings = document.getElementById("nigol-strings");
  },

  onMenuItemCommand: function(e) {
    var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
                                  .getService(Components.interfaces.nsIPromptService);
    promptService.alert(window, this.strings.getString("helloMessageTitle"),
                                this.strings.getString("helloMessage"));
  }
};

window.addEventListener("load", nigol.onLoad, false);

就像我说的,我从插件生成器下载并没有进行任何更改。

谢谢

4

1 回答 1

0

您调用的方式onLoad,该函数中的值this不是您认为的那样。试试这个:

window.addEventListener("load", function() { nigol.onLoad(); }, false);
于 2010-12-06T00:09:24.997 回答