【问题标题】:Used Firefox Add-on Builder and the extension doesn't work使用 Firefox Add-on Builder 并且扩展程序不起作用
【发布时间】:2010-12-05 23:45:50
【问题描述】:

我想我会尝试为 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);

就像我说的,我是从插件生成器下载的,没有做任何改动。

谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 感谢重播 MatrixFrog,但没有结果。我明白你所说的 this.strings 只在 onLoad 函数中设置。那么我将如何制作它以便所有功能都可以调用它呢?谢谢
    • 也许您对onMenuItemCommand 也有同样的问题。检查文档,我认为该函数中this 的值可能是事件的目标。只需执行nigol.strings.getString,我怀疑它会正常工作。
    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多