假设我有 -
$scope.trustAsHtml = $sce.trustAsHtml;
<p ng-bind-html="trustAsHtml(expression)"></p>
trustAsHtml
可以检查哪些内容expression
不会显示为信任HTML?
请给我一些例子。
答案 0 :(得分:2)
严格上下文转义(SCE)是一种模式,其中AngularJS要求在某些上下文中绑定,以产生一个标记为可安全用于该上下文的值。这种上下文的一个示例是通过ng-bind-html绑定用户控制的任意html。我们将这些上下文称为特权或SCE上下文。
注意:如果使用普通的html使用直接绑定在html中使用 NG-绑定-HTML。如果你在html中找到一些特殊字符 意味着我建议使用$ sce.trustAsHtml()并绑定它
例如
应该是:
<div ng-bind-html="trustedHtml"></div>
加上你的控制器:
$scope.html = '<span onmouseover="this.textContent="Explicitly trusted HTML bypasses sanitization."">Hover over this text.</span>';
$scope.trustedHtml = $sce.trustAsHtml($scope.html);