尝试在这里创建我的第一个Chrome扩展程序的新手。我已经通过在浏览器中调用.JS文件的普通.html文件中打开JQuery和html代码来运行它,从而验证了我的JQuery和html代码是否正常运行。
但是,似乎是由于CSP问题,具有相同代码的Chrome扩展程序无法运行。(我通过https在我的html中调用ajax库)
Refused to load the script
'http://www.reddit.com/r/abandonedporn/.json?jsonp=jQuery111307901595502626151_1438751974832&_=1438751974833'
because it violates the following Content Security Policy directive:
"script-src'self' https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js". send @ library.js:5
我已经修改了我认为必要的所有最后一件东西的manifest.json文件,其中包括:
{"content_security_policy": "script-src 'self' https://ajax.googleapis.com/*; object-src 'self'"},
"permissions": [
"http://www.reddit.com/r/abandonedporn/.json?jsonp=?",
"http://www.reddit.com/*", "https://www.reddit.com/*",
"http://www.reddit.com/r/abandonedporn/",
"https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js/",
"http://www.reddit.com/r/abandonedporn/.json?jsonp=jQuery111309090442832093686_1438671168851&_=1438671168852",
"http://*/*", "https://*/*",
"http://reddit.com/json*",
"http://www.reddit.com/r/abandonedporn/*"],
和
"content_scripts": [
{
"matches": [
"https://www.google.com/*",
"http://www.reddit.com/abandonedporn/*"
],
"js": [
"src/inject/inject.js",
"src/content.js",
"src/override/get_pics.js",
"src/override/get_pics2.js",
"src/override/library.js"
]
}
]
}
最后,我实际的Jquery脚本:(请注意,将“ .getJSON”更改为“ .getScript”并没有帮助。)
document.addEventListener('DOMContentLoaded', function () {
$.getJSON("http://www.reddit.com/r/abandonedporn/.json?jsonp=?", function(data) {
$.each(data.data.children, function(i,item){
$("<img/>").attr("src", item.data.url).appendTo("#images");
});
});
});
您无法按照google的新CSP加载chrome扩展程序中的外部(CDN)脚本文件。您需要打包所有资源,下载jquery并从包中访问。改为使用“ jquery.min.js” CDN-URL / jquery.min.js。这是详细
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句