我正在使用Firefox外接程序SDK开发火狐插件。我跟踪了入门教程。
Firefox版本: 41.0.2
我的程序是:
jpm run -> OK加载项工作正常jpm xpi --> OK :创建@myAddon.xpi (JPM成功地在.创建了.xpi )那么,为什么jpm run测试正常,但在安装.xpi文件之后不能工作?
我可以和你分享代码,但是这种情况怎么会发生呢?如果它在测试中工作,我希望它在“释放”中工作。我没有收到任何错误或警告。
高级别:
Index.js
pageMod.PageMod({
include: "*",
contentScriptFile: [data.url("jquery-1.11.3.min.js"), data.url("./Compute.js")],
onAttach: function (worker) {
var currentUrl = tabs.activeTab.url;
param = currentUrl;
Request({
url: param,
onComplete: function (response) {
var parsed = JSON.parse(response.text);
worker.port.emit('got-request', parsed);
}
}).get();
}数据/Compute.js
self.port.on('got-request', function (data) {
console.log(data);
});编辑(从注释中移动):
我发现一些有趣的东西..。取决于FireFox中的隐私级别,addon是否起作用。(选项->隐私->历史“记住历史”或“永远不记得历史”)-记住历史
发布于 2016-08-05 15:47:19
正如您已经确定的,如果您希望在私有浏览模式中使用火狐外接程序SDK外接程序,则需要在https://developer.mozilla.org/en-US/Add-ons/SDK/Tools/package_json文件中添加值为true的键private-browsing。
如果没有使用其他权限,则可以向package.json文件中添加一行,如下所示:
"permissions": {"private-browsing": true}关于编写用于私人浏览的SDK插件的Firefox文档模式特别指出,在下列任何情况下,require("sdk/private-browsing").isPrivate()方法都将返回true (重点是我的):
如果您没有"private-browsing": true,那么,作为文献状态,将出现以下情况(强调我的情况):
如果您使用的配置文件配置为在没有"private-browsing": true权限的情况下永远不会记住历史,那么您的外接程序就会显得不起作用。
如果您确实将该权限放入您的package.json文件中,则必须使用私有浏览模块require("sdk/private-browsing").isPrivate(object)来检查是否处于私有窗口或选项卡中。如果您在这样的窗口或选项卡中,则不需要存储任何有关此类环境的信息。
https://stackoverflow.com/questions/33201222
复制相似问题