与 Chrome 的内容安全策略一起工作的 Javascript 模板引擎

标签 javascript backbone.js google-chrome-extension content-security-policy jaml

Chrome API 的 list 版本 2 移除了执行不安全评估的能力。这意味着使用 eval 函数或通常从文本动态创建函数。

似乎大多数(如果不是全部)Javascript 模板引擎都这样做。我使用的是 Jaml,但我尝试了其他几种方法,例如 backbone.js(它实际上使用了 underscore.js 的模板引擎),但没有成功。

This comment on the Chromium project似乎表明有很多图书馆都受到此影响。

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

最佳答案

此问题的最佳解决方案是在部署扩展之前预编译模板。两者 handlebarsjseco提供预编译作为一项功能。我实际上写了一个 blog post更深入。

关于与 Chrome 的内容安全策略一起工作的 Javascript 模板引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11489495/

相关文章:

javascript - Chrome 扩展程序有音频 web_accessible_resources 吗?

javascript - 检查现在是否距前 3 小时以内

javascript - jQuery - 让 fadeOUt 使用 !important

javascript - MongoDB - 不一致的游标行为

javascript - 如何等待在 backbone.js 中呈现 View 直到获取完成?

javascript - 主干更新嵌套属性

javascript - 交换 View 的模型?

javascript - 关于 chrome.tabs.executeScript,返回多个值

javascript - mocha api 测试 - PUT 路线

javascript - Chrome 扩展程序如何将数据从内容脚本发送到 popup.html