Javascript 在firefoxaddonsdk中使用第三方API

Javascript 在firefoxaddonsdk中使用第三方API,javascript,firefox,firefox-addon-sdk,Javascript,Firefox,Firefox Addon Sdk,我正在尝试在扩展中使用ericvold的工具栏按钮模块。当我使用加载项生成器在线尝试时,效果很好。但是,当我在我的计算机上使用附加SDK时,它似乎有一些问题,而且似乎没有添加任何内容 我遵循的步骤是: 以zip格式从下载工具栏 解压缩它并将其添加到附加SDK中的我的软件包中,然后运行cfx docs 将index.html(第三方API)中列出的文档复制到main.js中 在mypackages.json中添加依赖项(还下载并添加了vold-utils) 它仍然没有显示工具栏 我的代码是:

我正在尝试在扩展中使用ericvold的工具栏按钮模块。当我使用加载项生成器在线尝试时,效果很好。但是,当我在我的计算机上使用附加SDK时,它似乎有一些问题,而且似乎没有添加任何内容

我遵循的步骤是:

  • 以zip格式从下载工具栏

  • 解压缩它并将其添加到附加SDK中的我的软件包中,然后运行
    cfx docs

  • index.html
    (第三方API)中列出的文档复制到
    main.js

  • 在my
    packages.json中添加依赖项(还下载并添加了vold-utils)

它仍然没有显示工具栏

我的代码是:

exports.main = function(options) {
  // create toolbarbutton
  var tbb = require("toolbarbutton").ToolbarButton({
    id: "TBB-TEST",
    label: "TBB TEST",
    onCommand: function () {
      tbb.destroy();
    }
  });

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

以下是您可以查看的github回购协议:

这是一个基本的插件,它的git子模块指向Erik Vold的toobar和utils库,并实现了一个非常简单的工具栏按钮

const data = require("self").data;
const tabs = require("tabs");

exports.main = function(options) {

    var btn = require("toolbarbutton").ToolbarButton({
        id: 'my-toolbar-button',
        label: 'Add skull!',
        image: data.url('favicon.png'),
        onCommand: function() {
            if (typeof(tabs.activeTab._worker) == 'undefined') {
                let worker = tabs.activeTab.attach({
                    contentScript: 'self.port.on("sayhello", function() { alert("Hello world!"); })'
                });
                tabs.activeTab._worker = worker;
            }
            tabs.activeTab._worker.port.emit("sayhello");
        }
    });

    if (options.loadReason === "install") {
        btn.moveTo({
          toolbarID: "nav-bar",
          forceMove: false // only move from palette
        });
  }
};
要了解其工作原理,请简单安装xpi文件:


注意:此示例适用于SDK verison 1.7,由于exports.main()的更改,它可能无法与SDK主分支一起工作。

更改
D:\addon-SDK-1.6.1\packages\erikvold-toolbarbutton-jplib-46e51ab\lib\toolbarbutton.js
D:\addon-SDK-1.6.1\packages\toolbarbutton\lib\toolbarbutton.js
,你的
main.js
在哪个目录下?哪里是
toolbarbutton.js
?main.js在lib目录下,toolbarbutton.js在packages目录下-D:\addon-sdk-1.6.1\packages\erikvold-toolbutton-jplib-46e51ab\lib\toolbarbutton.js在我的命令中,对
vold-utils的提示是一样的包装牙刷坏了。但是你的menuitem模块似乎工作正常。我可以在工具中看到“单击我”。好的。我想这是我的错。我必须进入firefox选项卡,工具栏布局,然后选择工具栏。如何使其自动显示。