$sceDelegate

概要

$sceDelegateは、AngularJSに厳格な文脈のエスケープ(SCE)を提供するために、 $sceサービスによって使用されるサービスです。

一般的には、$sceサービスでAngularJS内でのSCEの動作をカスタマイズする代わりに、 $sceDelegateを構成または上書きします。 $sceは非常に多くの略記メソッド等を提供するため、 本当に必要な3つのコアとなる関数(trustAs、getTrusted、valueOf)の動作方法を置き換えます。 $sceは、$sceDelegateへこれらのオペレーションを委譲します。

このサービスの設定については、$sceDelegateProviderを参照してください。

$sceDelegateのデフォルトのインスタンスは、多少問題があってもそのまま使用されるべきです。 $sceの振る舞いを変更するためにこれを完全に上書きし、 テンプレートのようなAngularJSのリソースを読み込むために、信用するURLのホワイトリストとブラックリストを設定する代わりに、 共通して$sceDelegateProviderの構成を行います。 $sceDelegateProvider.resourceUrlWhitelistと、 $sceDelegateProvider.resourceUrlBlacklistを参照してください。

getTrusted(type, maybeTrusted)

$sceDelegate.trustAsの呼び出しの結果を取得し、 もし、問い合されたコンテキストタイプが作成されたタイプのスーパータイプ(supertype)であった場合、 元の提供された値が返りその結果を取得します。 もしこの条件が満たされない場合、例外がスローされます。

引数 説明
type

型:string

この値が使用されているコンテキストの種類を指定します。

maybeTrusted

型:*

直前の$sceDelegate.trustAsの呼び出し結果を指定します。

戻り値 説明
 

型:*

もし、このコンテキスト内で有効である場合、$sceDelegate.trustAsに元々提供されていた値が返ります。 そうでなければ例外がスローされます。

特定の厳格な文脈のエスケープ(SCE)のコンテキスト(ng-html-bind-unsafe、ng-include、 任意のsrc属性補完, onclick等に紐付いた任意のDOMイベントの紐付け属性、など)として、 Angularによって信頼されたとするオブジェクトを返します。 これは提供された値を使用します。 $sceで、厳格な文脈のエスケープ(SCE)を有効にする方法を確認してください。

引数 説明
type

型:string

値として使用しても、安全であるとするコンテキストの種類を指定します。 (例: url、resourceUrl、html、js、css)

value

型:*

信頼出来る/安全である、とみなされるべき値を指定します。

戻り値 説明
 

型:*

Angularが期待する$sce.trustAs()からの戻り値を、 代わりに使用することが可能な値を返します。

trustAs(type, value)

もし、渡された引数が$sceDelegate.trustAsの前の呼び出しによって返されていた場合は、 $sceDelegate.trustAsに渡されていた値を返します。 そうでなければ、そのままその値を返します。

引数 説明
value

型:*

直前の$sceDelegate.trustAsの呼び出しの結果か、またはそれ以外のものを指定します。

戻り値 説明
 

型:*

もし、$sceDelegate.trustAsの呼び出し結果の値である場合、元々それに対して提供されていた値が返ります。 そうでなければ、引数の値をそのまま返します。

 Back to top

© 2017 Google
Licensed under the Creative Commons Attribution License 3.0.

このページは、ページトップのリンク先のAngularJS公式ドキュメント内のページを翻訳した内容を基に構成されています。 下記の項目を確認し、必要に応じて公式のドキュメントをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • AngularJSの更新頻度が高いため、元のコンテンツと比べてドキュメントの情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報やより分かり易くするための追記を行っている事があります。