2

按照教程我做了一个插件,它与“jpm run”一起工作,但在安装 xpi 文件后没有。我读了issue197,但那是“图标”。AddOn 以两种方式正确显示。

但是 clickEvent 仅适用于“jpm run”。

AddOn的功能:点击frame.html运行javascript

function FrameClick(){  
        window.parent.postMessage("Frame is clicked","*");  
} 

然后 index.js 应该会打开一个面板。

我在 index.js 中的代码:

var data = require("sdk/self").data;
var mypanel = require("sdk/panel").Panel({
  contentURL: data.url("panel.html"),
  contentScriptFile: data.url("panel.js")
});

var { Frame } = require("sdk/ui/frame");
var frame = new Frame({                         
    url: "./frame.html"}
);

var { Toolbar } = require("sdk/ui/toolbar");
var toolbar = Toolbar({ 
  name: "toolbar",
  title: "Toolbar",
  items: [frame]
});

frame.on("message",MessageFromFrame)

function MessageFromFrame(e){
    console.log("MessageFromFrame: "+e);
    mypanel.show({position: {top:10,left:10}});
}

mypanel.on("show", function() {
    mypanel.port.emit("show",ShowFromMyPanel); 
});

function ShowFromMyPanel(e){
    console.log("ShowFromMyPanel: "+e); 
}

数据结构为:

myaddon
 index.js
 package.json
myaddon/data
 frame.html
 frame.js
 panel.html

有什么建议可以在哪里查找错误?谢谢阅读 :)

4

0 回答 0