2012-05-20 54 views
1

我想在我的扩展中使用ericvold的工具栏按钮模块。当我使用附加组件在线尝试它时,它工作正常。但是当我在我的电脑上使用附加SDK时,它似乎有一些问题,似乎没有任何地方可以添加任何东西。在firefoxaddonsdk中使用第三方apis

,我遵循的步骤是:

  • 下载工具栏从github拉链。

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

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

  • 在我的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 
    }); 
    } 
}; 
+0

所以,在哪个目录,你有你'main.js'何为'toolbarbutton.js'? –

+0

main.js位于lib目录中,toolbarbutton.js位于packages目录中 - D:\ addon-sdk-1.6.1 \ packages \ erikvold-toolbarbutton-jplib-46e51ab \ lib \ toolbarbutton.js – user1092042

+0

是否有错误? – erikvold

回答

2

这里是一个GitHub库,你可以看看:

https://github.com/canuckistani/toolbar-template

这是基本的附加有指向埃里克·沃尔德的商工具栏git的子模块和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文件:

https://github.com/canuckistani/toolbar-template/raw/master/toolbar.xpi

注:本例中使用SDK工作verison 1.7,它西港岛线可能不是qwith SDK的主分支工作,由于出口的变化.main()。

1

变化D:\addon-sdk-1.6.1\packages\erikvold-toolbarbutton-jplib-46e51ab\lib\toolbarbutton.jsD:\addon-sdk-1.6.1\packages\toolbarbutton\lib\toolbarbutton.js

+0

'vold-utils'软件包也是一样 – erikvold

+0

这没有用。但是你的menuitem模块似乎工作正常。我可以看到工具中的点击我。 – user1092042

+0

好的。我猜这是我的不好。我不得不去firefox选项卡,工具栏布局,然后选择工具栏。我如何使它自动出现。 – user1092042