首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Underscore.js _.template导致Chrome扩展出错

Underscore.js _.template导致Chrome扩展出错
EN

Stack Overflow用户
提问于 2012-01-11 01:12:25
回答 6查看 6.8K关注 0票数 17

如果我在Google Chrome扩展中使用underscore.js_.template(),我会在控制台中得到以下错误:

未捕获错误:此上下文不允许从字符串生成代码

有什么方法可以克服这个错误吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-07-14 00:12:41

不幸的是,我不认为你可以在chrome extension...at中使用underscore.js的_.template(),至少在新的manifest.json版本2中是这样。同样的道理也适用于尝试使用jQuery Template plugin

来自Google Chrome扩展的Content Security Policy页面的

没有任何机制可以放松对执行内联JavaScript的限制。特别是,设置包含unsafe-inline的脚本策略将不起作用。这是故意的。

我将介绍其他模板引擎,希望它们不会使用新函数对象。

票数 5
EN

Stack Overflow用户

发布于 2012-01-12 09:53:37

非常感谢Chromium list的贡献者,他们指出,要以下划线的方式创建Function对象,需要content_security_policymanifest.json选项包含“不安全的求值”。

例如,您的manifest.json可以是

代码语言:javascript
复制
{
  "manifest_version": 2,
  ...
  "content_security_policy": "script-src 'self' 'unsafe-eval'",
  ...
}

然后,下划线行为将起作用,因为此策略允许它。有关格式的更多信息,请参阅此选项here的Chrome文档。

票数 7
EN

Stack Overflow用户

发布于 2013-11-02 11:33:46

我使用Underscore.js是因为我想在我的Chrome扩展中使用Backbone.js,我刚刚把模板引擎改成了Mustache ~如果你有同样的原因,你也可以使用Underscore.js作为主干,只是不要使用_.template()函数。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8807437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档