我决定根据这个视频做一个解析器扩展。我做到了,但它会引发错误。为什么 Chrome 扩展解析器不起作用?给出错误信息
拒绝加载脚本,因为它违反了以下内容安全策略指令:script-src 'self' blob: filesystem: chrome-extension-resource:"。请注意,'script-src-elem' 没有明确设置,因此 'script-src' 用作后备。
此路径http://www.feedrapp.info在jquery.rss.js
文件清单文件中指定
{
"name" :"Новости",
"version": "1.0",
"manifest_version": 2,
"description" :"Последние новости Оренбуржья",
"permissions": [
"cookies",
"background",
"tabs",
"http://*/*",
"https://*/*",
"storage",
"unlimitedStorage"
],
"icons": { "128": "images/icon.png" },
"content_scripts": [{
"matches": [ "http://vestirama.ru/*","http://vestirama.ru/server/yandex.rss" ],
"js": [ "jquery.min.js","moment.min.js","jquery.rss.js","jquery.rss.min.js","script.js" ],
"all_frames": true
}],
"web_accessible_resources": [
"http://*/*",
"https://*/*",
"styles/*",
"fonts/*"
],
"browser_action" :
{
"default_popup": "popup.html",
"default_title": "Новости ВестиРама"
}
}
popup.html
<html>
<head>
<meta charset="utf-8"/>
<title>Новости ВЕСТИРАМА</title>
<link href="style.css" rel="stylescheet"/>
</head>
<body>
<div class="container">
<div id="rss"></div>
</div>
<script type="text/javascript" language="javascript" src="jquery-3.4.1.min.js"></script>
<script type="text/javascript" language="javascript" src="moment.min.js"></script>
<script type="text/javascript" language="javascript" src="jquery.rss.js"></script>
<script type="text/javascript" language="javascript" src="jquery.rss.min.js"></script>
<script type="text/javascript" language="javascript" src="script.js"></script>
</body>
</html>
脚本.js
$('#rss').rss("http://vestirama.ru/server/yandex.rss");
原始脚本路径
https://code.jquery.com/jquery-3.4.1.min.js
https://momentjs.com/downloads/moment.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery-rss/3.3.0/jquery.rss.js
https://cdnjs.cloudflare.com/ajax/libs/jquery-rss/3.3.0/jquery.rss.min.js
您可能错误地描述了 URL 的权限:
尝试替换为:
该错误与
CSP- https://developer.chrome.com/extensions/contentSecurityPolicy有关尝试在清单中写入
这里还有更多示例:https ://developer.mozilla.org/ru/docs/Web/HTTP/CSP