我目前正在撰写Chrome扩展程序。这是清单:
{
"manifest_version": 2,
"name": "whatever",
"short_name": "whocares",
"description": "blabla",
"version": "1.0.2",
"author": "me",
"permissions": [
"http://ajax.googleapis.com/"
],
"content_scripts": [
{
"matches": ["https://plus.google.com/*"],
"js": ["jquery-1.10.2.min.js","filter.js","settings.js","settings.html"]
}
],
"options_page": "settings.html",
"browser_action": {
"default_icon": "nicepic.png"
}
}
这是options.html页面:
<html>
<head>
<script type="text/javascript" src="settings.js"></script>
</head>
<body onload="CollectSettings()">
<h2>Options:</h2>
<form>
(some stuff)
</form>
</body>
</html>
抛出以下错误:
拒绝执行内联事件处理程序,因为它违反了 遵循内容安全策略指令:“script-src'self' 铬扩展资源:”
CollectSettings()是settings.js
中的一个函数我认为在后台只有这种类型的JS限制 - 脚本,而不是选项页面?
答案 0 :(得分:2)
Chrome扩展程序 Content Security Policy (CSP) (其中包括阻止内联JavaScript的执行)适用于后台页面和扩展程序的所有视图(包括任何弹出窗口。)
事实上, Inline JavaScript will not be executed 部分中使用的示例是这些限制在浏览器操作弹出窗口中有效的典型情况。