Firefox扩展面板 - 要求未定义?

时间:2013-08-19 14:10:26

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

我正在尝试加载一个html面板/弹出窗口,它将作为我的扩展程序的菜单。

我成功地使用(或多或少)加载它:

var ifr = document.createElement("iframe");
ifr.setAttribute("type", "chrome");
ifr.setAttribute("style", "width: 200px; height: 300px;");

ifr.setAttribute("src", url);
IROB_MENU.mnu.appendChild(ifr);
IROB_MENU.mnu.openPopup(navbar, "before_end", 0, 0, false, false);

现在我找不到与之通信的方法,因为某些原因postMessage不起作用。

我在某处读到,如果您打开一个面板,您可以为其上的消息分配处理程序,并可以使用端口进行通信,所以我尝试了:

var MeteoPanel = require("panel").Panel({
    width: 320,
    height: 170,
    contentScriptFile: self.data.url('panel.js'),
    contentScriptWhen: "ready",
    contentScript: "SOMESCRIPT",
    contentURL: self.data.url('thecontent.html'),
    onMessage: function (item) {
      console.log('message : "' + item + '"');
    }
});

但是我收到一条错误消息,说'require'未定义:|

有什么想法吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您可能需要下载附加SDK。您可以在此处找到有关安装的说明:

https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Installation