1

我是一名 JavaScript 初学者,所以我尝试使用add-on builder创建一个 Firefox 工具栏按钮。该按钮工作正常并显示一个弹出窗口,但是当我打开第二个 Firefox 窗口时,该按钮不显示。

编码:

exports.main = function() { 
var self = require("sdk/self");
var data = self.data;
//  var tabs = require('tabs');



function listTabs() {
var tabs = require("sdk/tabs");
for each (var tab in tabs)
console.log(tab.url);
}



var Request = require("sdk/request").Request;

var pageMod = require("sdk/page-mod");

// This module exports a single constructor function Panel which constructs a new panel.
// A panel is a dialog. Its content is specified as HTML and you can execute scripts in it,
// so the appearance and behaviour of the panel is limited only by what you can do using HTML, CSS and JavaScript.
var toolbar_popup = require("sdk/panel").Panel({
    width:200,
    height:280,
    contentURL: data.url("popup.html"),
    contentScriptFile: [data.url('js/jquery.js'), data.url('js/jquery.cookie.js'), data.url('js/popup.js')],
    contentScriptWhen:'ready',
    contentScript: " "+
  "self.port.on('curTabMsg', function(curTabMsg) {" +
    "main(curTabMsg['curTab']);" +
  "});"
});



// creating toolbarbutton via including toolbar library Toolbar Buttons.
// Through this an Icon has to be created on the toolbar with image name gse_icon_16x16.png
var tbb = require("toolbarbutton").ToolbarButton({
    id: "XXXXXX",
    label: "XXXXXXX",
    image: data.url("icon16.png"),
    panel: toolbar_popup,
    onClick: function() {   
  toolbar_popup.port.emit("curTabMsg",{'curTab': tabs.activeTab.url}); 
}
});



if (require('self').loadReason == "install") {
    tbb.moveTo({
        toolbarID: "nav-bar",
        forceMove: false // only move from palette
    });
}

toolbar_popup.on("show", function()  {
    toolbar_popup.port.emit("show", {
        version:self.version
        });
});

};

为什么按钮不显示在第二个窗口中?

4

0 回答 0