【发布时间】:2013-04-02 01:12:30
【问题描述】:
这是我的模板:
<div class="span12">
<ng:view></ng:view>
</div>
这是我的视图模板:
<h1>{{stuff.title}}</h1>
{{stuff.content}}
我将content 作为 html 获取,我想在视图中显示它,但我得到的只是原始 html 代码。如何呈现该 HTML?
【问题讨论】:
-
HTML 来自哪里?在不同的情况下,您需要
ngBindHtmlUnsafe、ngSanitize或自定义指令。 -
html 来自我的数据库
-
内容绝对可信吗?
-
例如,如果 HTML 包含
script标签,浏览器会执行它。这种类型的“注入”攻击是破坏应用程序和窃取用户数据的常见方式。 AngularJS 有一个名为ngSanitize的单独模块,您可以使用它来去除任何危险标签的 HTML;它还有一个名为ngBindHtml的指令,其工作方式与ngBindHtmlUnsafe类似,但会为您去除危险标签。如果内容完全属于您 - 并且不是来自用户或第三方 - 那么您就不需要它。
标签: javascript angularjs