我一直试图将我用jQuery / HTML制作的简单程序移动到Firefox WebExtension中,以便于部署。我得到的错误是:
Content Security Policy: The page’s settings blocked the loading of a resource at https://code.jquery.com/jquery-1.12.4.js (“script-src moz-extension://ef8f1295-1912-4912-ab2e-121053b6781a”).
我确定我没有正确地执行 manifest.json 文件,但对于我的生活,我不知道在哪里:
{
"description": "Makes tasks from different underwriters uniform",
"manifest_version": 2,
"name": "Task Creator",
"version": ".5",
"permissions": [
"http://*/*", "tabs", "https://*/*"
],
"icons": {
"48": "icons/page-48.png"
},
"web_accessible_resources": [
"style/popUpStyle.css",
"script/popUpTask.js",
"script/logicTaskFiller.js",
"js/autosize.js",
"style/https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",
"js/https://code.jquery.com/jquery-1.12.4.js",
"js/https://code.jquery.com/ui/1.12.1/jquery-ui.js"
],
"background": {
"scripts": ["background.js"]
},
"browser_action": {
"default_icon": "icons/page-32.png"
}
}
答案 0 :(得分:4)
By default, extensions cannot load scripts, or other object resources, from the Internet.您的扩展程序使用的所有CSS和Javascript都应该是扩展程序包的一部分。
(此文档来自Chrome,但完全相同的政策适用于Firefox WebExtensions。)
可以稍微放宽这些限制,但通常应避免这种情况 - 如果用户无法访问Internet,或者他们位于限制性防火墙后面,则从远程服务器加载资源会使您的扩展无法正常工作。此外,addons.mozilla.org will not accept addons which execute remotely hosted Javascript。