Redirect Firefox SDK:重定向到ressource HTML被拒绝

Redirect Firefox SDK:重定向到ressource HTML被拒绝,redirect,firefox-addon,local,firefox-addon-sdk,Redirect,Firefox Addon,Local,Firefox Addon Sdk,我正试图用插件SDK编写一个Firefox插件,根据它们的URL重定向一些网站。我已经创建了一个HTML页面并将其放在数据目录中。我通过以下方式获得路径: var data = require("sdk/self").data; var myWebsite = data.url("myWebsite.html"); 我正在使用PageMod启动给定URL数组的脚本: pageMod.PageMod({ include: ArrayOfUrls, contentScriptFil

我正试图用插件SDK编写一个Firefox插件,根据它们的URL重定向一些网站。我已经创建了一个HTML页面并将其放在数据目录中。我通过以下方式获得路径:

var data = require("sdk/self").data;
var myWebsite = data.url("myWebsite.html");
我正在使用PageMod启动给定URL数组的脚本:

pageMod.PageMod({
    include: ArrayOfUrls,
    contentScriptFile: "./myScript.js",
    contentScriptOptions: {"myWebsite" : myWebsite}
});
在myScript.js中,我正在检查是否满足了某些要求,如果满足了,我会尝试重定向到我的本地网站:

window.location.replace(self.options.myWebsite);
但我总是在控制台中收到以下错误消息:

Object
- _errorType = Error
- message = Access to 'resource://myAddon/data/myWebsite.html' from script denied
如果我输入本地网站的路径(resource://myAddon/...)在浏览器的地址栏中手动执行该操作。如果我重定向到另一个网站(例如),它也可以工作


所以我想有一个安全设置,或者我需要更改以使本地重定向成为可能,但是我在文档或web上找不到任何内容。我希望这里有人能告诉我我做错了什么。

在package.json中,我必须添加以下行以使其正常工作:

"permissions": {"cross-domain-content": ["resource://myAddon/data/"]}

进一步的文档可以在他的评论中提供的链接Noitidart中阅读。

是的,您是从contentScript运行此操作的。这是试图访问特权URI的非特权代码<代码>资源://和
浏览器://
是私有URI。这很有趣,虽然我认为资源不会有这个问题。因此,这可能是一个跨域问题(因为reousrce域与您运行contentscript表单的网站不同)?试着设置这个跨域的东西:谢谢,解决了它。对于将来的引用,我在package.json中添加了以下行:
“权限”:{“跨域内容”:[“resource://myAddon/data/“]}
Super!你能把它作为解决方案发布并接受吗。