1

我使用创建工具栏按钮的Mozilla Addon Builder创建了一个扩展。没有对代码进行任何更改,该代码在当前稳定的 FF 3 中运行。

var mytestextension = {
  onLoad: function() {
    // initialization code
    this.initialized = true;
    this.strings = document.getElementById("mytestextension-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"));
  },

  onToolbarButtonCommand: function(e) {
    // just reuse the function above.  you can change this, obviously!
    mytestextension.onMenuItemCommand(e);
  }
};

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

工具栏按钮出现,但单击(我理解应该触发 onToolbarButtonCommand)它什么也不做。我对这里的调试有点含糊:这是我第一次尝试“hello world”不起作用的语言!

4

1 回答 1

1

this我相信inonLoad实际上不会指向您的对象。如果这是未修改的代码,请提交一个关于它的错误(我已经为您选择了正确的组件),它应该会很快得到修复。

于 2011-01-28T22:03:26.493 回答