我试图使用$sanitize提供者和ng-bind-htm-unsafe指令,以允许我的控制器将HTML注入DIV。
然而,我不能让它工作。
<div ng-bind-html-unsafe="{{preview_data.preview.embed.html}}"></div>
我发现这是因为它被从AngularJS中删除了(谢谢)。
但是如果没有ng-bind-html-unsafe,我就会得到这个错误:
http://errors.angularjs.org/undefined/预计美元/不安全
严格的上下文转义可以完全禁用,允许您使用ng-html-bind注入html。这是一个不安全的选择,但在测试时很有帮助。
来自AngularJS文档中$sce的例子:
angular.module('myAppWithSceDisabledmyApp', []).config(function($sceProvider) {
// Completely disable SCE. For demonstration purposes only!
// Do not use in new projects.
$sceProvider.enabled(false);
});
将上面的配置部分附加到你的应用程序将允许你将html注入ng-html-bind,但正如doc所述:
SCE以很少的编码开销为您提供了许多安全好处。
这将是一个更加困难的SCE禁用应用程序
请自行保护或在稍后阶段启用SCE。它可能会
如果你有很多现有的代码,禁用SCE是有意义的
是在SCE引入之前写的,你要把它们迁移到
一次一个模块。