所以我在这里遵循文档/教程:
https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_started
当我使用cfx run时,add on正确显示但是当我导出到xpi并在我自己安装的firefox上安装时,右上角没有显示图标。我安装了Firefox版本31并安装了一个不相关的附加组件,其图标显示在右上角的位置,但我的添加没有。我的添加内容显示为在附加组件管理器中的扩展下启用/安装。
我通过他们描述的过程安装了我的附件:
要测试这是否有效,请尝试在您自己的位置安装XPI文件 Firefox安装。您可以通过按Ctrl + O键来完成此操作 从Firefox中组合(Mac上的Cmd + O),或者选择 "开"来自Firefox" File"的项目菜单。这将打开一个文件 选择对话框:导航到" my-addon.xpi"文件,打开它 按照提示安装附加组件。
以下是我的main.js的代码(根据之前的链接,与cfx运行一样正常工作):
var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");
var button = buttons.ActionButton({
id: "mozilla-link",
label: "Visit Mozilla",
icon: {
"16": "./icon-16.png",
"32": "./icon-32.png",
"64": "./icon-64.png"
},
onClick: handleClick
});
function handleClick(state) {
tabs.open("http://www.mozilla.org/");
}
启用加载项后我没有收到任何浏览器控制台消息但是当我禁用该加载项时,我得到以下内容:
Duplicate resource declaration for 'specialpowers' ignored. chrome.manifest:32
Duplicate resource declaration for 'gre-resources' ignored. chrome.manifest:34
Duplicate resource declaration for 'services-sync' ignored. components.manifest:168
Duplicate resource declaration for 'services-common' ignored. components.manifest:170
Duplicate resource declaration for 'services-crypto' ignored. components.manifest:171
Could not read chrome manifest 'file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/chrome.manifest'.
Duplicate resource declaration for 'pdf.js' ignored. pdfjs.manifest:1
Could not read chrome manifest 'file:///C:/Program%20Files%20(x86)/Mozilla%20Firefox/browser/extensions/%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D/chrome.manifest'.
答案 0 :(得分:2)
我遇到了同样的问题并通过更改package.json
文件以允许插件在私有模式下工作来解决它,请参阅此处:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/private-browsing#Opting_into_private_browsing。我猜它键入cfx run
时的工作原理是它使用了默认情况下未启用隐私浏览的其他配置文件。希望这会有所帮助:)
答案 1 :(得分:1)
很难根据你所说的内容说出可能出现的问题。您可以使用无效的代码添加您的问题吗?当您的代码中出现未被注意的语法错误时,通常会发生这种情况。
您还可以看到加载项在安装时产生错误 - 请尝试以下方法:
切换回更明亮的控制台窗口并点击“清除”以清除所有现有消息
切换回加载项管理器并禁用,然后启用加载项
最后,再次切换回浏览器控制台,看看是否显示任何错误消息。
答案 2 :(得分:0)
您的一个加载项可能会以某种方式与您的新加载项冲突(例如,另一个加载项可能已经有一个带ID和#34的元素; mozilla-link")。尝试禁用所有其他加载项,看看新加载项是否开始工作。