我可以使用html for addon gui吗?

时间:2014-04-08 14:08:21

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

我需要工具栏上的插件栏和按钮上的按钮,该按钮会重定向到某种类型的设置页面(html,css,js),此页面可以与main.js交互。可以吗?如果可以,plz推荐好教程。

1 个答案:

答案 0 :(得分:1)

添加按钮:使用widgetActionButton or ToggleButton
设置页面(html,css,js):使用page-mod
与main.js互动:使用portpostMessage()

这是一个例子:
main.js:

var pageMod = require("sdk/page-mod");
var widgets = require("sdk/widget");
var tabs = require("sdk/tabs");
const data = require("sdk/self").data;

var optionsPage = pageMod.PageMod({
    include: data.url("options.html"),
    contentScriptFile: data.url("options.js"),
    onAttach: function(worker) {
        worker.port.on("callMain",function(msg){
            console.log("callMain: " + msg);
        });
    }
});
var widget = widgets.Widget({
    id: "justForTest",
    label: "justForTest",
    contentURL: data.url("widget.png"),
    onClick: function(){
        tabs.open(data.url("options.html"));
    }
});

options.js:

self.port.emit("callMain", "from options.js");