2

私が持っているとしましょう -

$scope.trustAsHtml = $sce.trustAsHtml; 

<p ng-bind-html="trustAsHtml(expression)"></p>

trust HTML として表示されないように、何trustAsHtmlをチェックできますか?expression

いくつかの例を教えてください。

4

1 に答える 1

2

Strict Contextual Escaping (SCE)は、AngularJS が特定のコンテキストでバインディングを必要とし、そのコンテキストで安全に使用できるとマークされた値を生成するモードです。このようなコンテキストの一例は、ng-bind-html を介してユーザーが制御する任意の html をバインドすることです。これらのコンテキストを特権コンテキストまたは SCE コンテキストと呼びます。

注 : 通常の html を使用する場合は、ng-bind-html を使用して html に直接バインドします。HTML に特殊文字が見つかった場合は、$sce.trustAsHtml() を使用してバインドすることをお勧めします。

例えば

それは次のようになります。

<div ng-bind-html="trustedHtml"></div>

プラスあなたのコントローラに:

$scope.html = '<span onmouseover="this.textContent=&quot;Explicitly trusted HTML bypasses sanitization.&quot;">Hover over this text.</span>';
$scope.trustedHtml = $sce.trustAsHtml($scope.html);
于 2015-06-11T08:25:33.713 に答える