我正在尝试使用Addon SDK编写一个Firefox Addon,以根据其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
如果我在浏览器的地址栏中手动输入本地网站(资源:// myAddon / ...)的路径,则可以使用。如果我重定向到另一个网站(例如http://example.com/),它也会有效。
所以我猜有一个安全设置,所以我需要更改以使本地重定向成为可能,但我在文档或网络上找不到任何内容。我希望有人可以告诉我我做错了什么。
答案 0 :(得分:2)
在package.json中,我必须添加以下行才能使其正常工作:
"permissions": {"cross-domain-content": ["resource://myAddon/data/"]}
可以在他的评论中提供的Noitidart链接中阅读更多文档。