在Chrome扩展程序中使用以下代码
**background.js**
var elt = document.createElement("script");
elt.type="text/javascript";
elt.innerHTML = "alert('hello world');";
document.getElementsByTagName("head")[0].appendChild(elt);
引发此错误
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'".
尽管我在manifest.js
中有这一行 "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
为什么会抛出这个错误?
答案 0 :(得分:0)
没有放松对执行内联JavaScript的限制的机制。特别是,设置包含 unsafe-inline
的脚本政策将不起作用。
正在使用以下状态:
{
"name": "Page Action Demo",
"description": "This demonstrates Page Action",
"manifest_version": 2,
"version": "1",
"content_scripts": [
{
"matches": [
"https://www.google.co.in/*"
],
"js": [
"myscript.js"
]
}
],
"permissions": [
"https://www.google.co.in/*"
]
}
var elt = document.createElement("script");
elt.type="text/javascript";
elt.innerHTML = "alert('hello world');";
document.getElementsByTagName("head")[0].appendChild(elt);
如果这不起作用,您可以分享相关代码吗?