2

私はFirefox用のビルドと拡張を試みると思ったので、アドオンビルダーを使用してMDCで基本的な拡張をビルドしました。[ツール] メニューの拡張機能をクリックすると、Hello World ポップアップが表示されますが、表示されません。

onLoad 関数が nigol-strings からデータを取得できないと思います。しかし、それが MDC Web サイトから生成されたコードである場合、なぜエラーが発生するのでしょうか?それとも私でしょうか?

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 に答える