Улучшить эту документацию Просмотреть исходный код $sceDelegate
- $sceDelegateProvider
- сервис в модуле ng
$sceDelegate — это сервис, используемый сервисом $sce, чтобы предоставить AngularJS сервисы строгого контекстного экранирования (SCE).
Как правило, вы настраиваете или переопределяете $sceDelegate, а не сервис $sce, чтобы настроить работу строгого контекстного экранирования в AngularJS. Это связано с тем, что, хотя $sce предоставляет множество сокращенных методов и т. д., вам действительно нужно переопределить только 3 ключевых функции (trustAs, getTrusted и valueOf), чтобы заменить способ работы вещей, потому что $sce делегирует эти операции $sceDelegate.
Для настройки этого сервиса обратитесь к $sceDelegateProvider.
Предварительно настроенный экземпляр $sceDelegate должен работать без проблем. Хотя вы можете полностью переопределить его, чтобы изменить поведение $sce, в общем случае необходимо настроить $sceDelegateProvider, задав собственные белые и чёрные списки для доверенных URL-адресов, используемых для загрузки ресурсов AngularJS, таких как шаблоны. Обратитесь к $sceDelegateProvider.resourceUrlWhitelist и $sceDelegateProvider.resourceUrlBlacklist
Использование
$sceDelegate();
Методы
-
trustAs(type, value);
Возвращает объект, которому Angular доверяет для использования в указанных контекстах строгого контекстного экранирования (таких как ng-bind-html, ng-include, любой интерполяции атрибута src, любой интерполяции атрибута привязки к событию DOM, например, для onclick и т. д.), использующий предоставленное значение. Смотрите $sce для включения строгого контекстного экранирования.
Параметры
Параметр Тип Подробности type stringТип контекста, в котором это значение безопасно для использования. Например, url, resourceUrl, html, js и css.
value *Значение, которое должно считаться надёжным/безопасным.
Возвращаемое значение
*Значение, которое может использоваться для обозначения предоставленного
valueв местах, где Angular ожидает значения, возвращаемого $sce.trustAs(). -
valueOf(value);
Если переданный параметр был возвращен предыдущим вызовом
$sceDelegate.trustAs, возвращает значение, которое было передано$sceDelegate.trustAs.Если переданный параметр не является значением, возвращенным
$sceDelegate.trustAs, возвращает его как есть.Параметры
Параметр Тип Подробности value *Результат предыдущего вызова
$sceDelegate.trustAsили что-то ещё.Возвращаемое значение
*Значение
value, которое изначально было предоставлено$sceDelegate.trustAs, еслиvalueявляется результатом такого вызова. В противном случае возвращаетvalueбез изменений. -
getTrusted(type, maybeTrusted);
Принимает результат вызова
$sceDelegate.trustAsи возвращает исходное значение, если запрошенный тип контекста является супертипом созданного типа. Если это условие не выполняется, выбрасывается исключение.Отключение автоматического экранирования чрезвычайно опасно; оно обычно создаёт уязвимость межсайтового скриптинга (XSS) в вашем приложении.Параметры
Параметр Тип Подробности type stringТип контекста, в котором это значение должно использоваться.
maybeTrusted *Результат предыдущего вызова
$sceDelegate.trustAs.Возвращаемое значение
*Значение, которое было изначально предоставлено
$sceDelegate.trustAs, если оно валидно в данном контексте. В противном случае выбрасывается исключение.
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.5.11/docs/api/ng/service/$sceDelegate