djm*_*ick 17 javascript google-chrome-extension underscore.js
如果我在Google Chrome扩展程序中使用underscore.js的_.template(),我会在控制台中收到以下错误:
未捕获的错误:对于此上下文不允许从字符串生成代码
有没有办法克服这个错误?
非常感谢Chromium列表贡献者指出,以Function
下划线方式创建对象需要包含'unsafe-eval' 的manifest.json
选项content_security_policy
.
举个例子,你manifest.json
可以
{
"manifest_version": 2,
...
"content_security_policy": "script-src 'self' 'unsafe-eval'",
...
}
Run Code Online (Sandbox Code Playgroud)
然后下划线行为将起作用,因为此策略允许它.有关格式的详细信息,请参阅该选项的浏览器文档在这里.
不幸的是,我不认为你可以在chrome扩展中使用underscore.js的_.template()...至少使用新的manifest.json版本2.尝试使用jQuery Template插件也是如此.
在Google Chrome扩展程序的内容安全政策页面中:
没有放松对执行内联JavaScript的限制的机制.特别是,设置包含unsafe-inline的脚本策略将不起作用.这是故意的.
我将看看其他模板引擎,希望不使用新的Function对象.
归档时间: |
|
查看次数: |
6315 次 |
最近记录: |