我有一个错误:
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:
"script-src 'self' chrome-extension-resource:"
。需要'unsafe-inline'
关键字、散列 ('sha256-...'
) 或随机数 ('nonce-...'
启用在线执行)chrome-extension://ldbpohccneabbobcklhiakmbhoblcpof/popup.html:1
拒绝将字符串评估为 JavaScript,因为
'unsafe-eval'
不是以下内容安全策略指令中允许的脚本源:"script-src 'self' chrome-extension-resource:"
。
代码 popup.js
$(document).ready(function() {
$.getJSON('http://.......alerts.json', function(data) {
alert('HELLO');
});
});
显现:
{
"manifest_version": 2,
"name": "Alert",
"description": "This extension for .",
"version": "2.0",
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
"permissions": [
"http://www.......il/"
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [ {
"js": [ "jquery.min.js", "popup.js" ],
"matches": [ "http://*/*", "https://*/*"]
}]
}
弹出:
<!doctype html>
<html>
<head>
<title>Getting Started Extension's Popup</title>
<style>
body {
min-width: 357px;
overflow-x: hidden;
}
img {
margin: 5px;
border: 2px solid black;
vertical-align: middle;
width: 75px;
height: 75px;
}
</style>
<head>
<script src='jquery.min.js'></script>
<script src='popup.js'></script>
</head>
</head>
<body>
</body>
</html>
原文由 Vitaly Menchikovsky 发布,翻译遵循 CC BY-SA 4.0 许可协议
我收到此消息是因为 Chrome 不再允许内联脚本和内联事件处理程序(如 onClick):必须将它们移动到外部 JS 文件(例如 popup.js)并且必须使用 addEventListener() 将事件关联到DOM 对象。
例如:
必须替换为:
在你的情况下,我在 HTML 中看不到任何 JS,但你可以尝试一些事情:
请参阅 Chrome 扩展清单 V2 说明