与Chrome的内容安全策略配合使用的Javascript模板引擎

Tha*_*par 12 javascript google-chrome-extension backbone.js content-security-policy jaml

Chrome API的清单版本2已删除了执行不安全评估的功能.这意味着使用eval函数或通常从文本动态创建函数.

似乎大多数(如果不是所有Javascript模板引擎)都这样做.我正在使用Jaml,但我尝试了其他几个像backbone.js(它真正使用了underscore.js的模板引擎)而没有运气.

这篇关于Chromium项目的评论似乎表明,有很多图书馆都受此影响.

我认为Angular.js具有CSP安全模式,但Angular.js对于我们需要的东西来说实在太大了.我们只需要一个相当基本的模板引擎,不需要模型或控制器等.有谁知道任何CSP兼容性模板引擎吗?

Mat*_*hew 7

解决此问题的最佳方法是在部署扩展程序之前预先编译模板.无论handlebarsjs生态提供预编译的功能.我实际上写了一篇更深入的博客文章.