Spec-Zone.ru › Angular.js 1.6

Улучшить эту документацию Просмотреть исходный код $sceDelegate

  1. $sceDelegateProvider
  2. сервис в модуле ng

Обзор

$sceDelegate — это сервис, используемый сервисом $sce для предоставления AngularJS-сервисов строгой контекстуальной экранизации (SCE).

Для ознакомления с данным сервисом и его функциями в AngularJS, обратитесь к основной странице SCE. Данная страница предназначена для разработчиков, которым необходимо изменить работу SCE в своём приложении, что в большинстве случаев не требуется.

AngularJS сильно полагается на контекстную экранизацию для обеспечения безопасности привязок: отключение или изменение этого может привести к уязвимостям типа межсайтового скриптинга (XSS). Для владельцев библиотек изменения в этом сервисе также повлияют на пользователей, поэтому будьте предельно внимательны и документируйте свои изменения.

Обычно для настройки или переопределения работы $sceDelegate вместо сервиса $sce используется настройка для изменения способа работы строгой контекстуальной экранизации в AngularJS. Это связано с тем, что, хотя $sce предоставляет множество сокращённых методов и т. д., вам действительно нужно переопределить только 3 основных функции (trustAs, getTrusted и valueOf) для изменения работы, потому что $sce делегирует эти операции $sceDelegate.

Для настройки данного сервиса обратитесь к $sceDelegateProvider.

По умолчанию экземпляр $sceDelegate должен работать без проблем. Хотя вы можете полностью его переопределить, чтобы изменить поведение $sce, в общем случае рекомендуется настроить $sceDelegateProvider, задав собственные списки разрешённых и запрещённых URL для доверенных URL, используемых для загрузки ресурсов AngularJS, таких как шаблоны. Обратитесь к $sceDelegateProvider.resourceUrlWhitelist и $sceDelegateProvider.resourceUrlBlacklist.

Использование

$sceDelegate();

Методы

  • trustAs(type, value);

    Возвращает надёжное представление параметра для указанного контекста. Это надёжное значение в дальнейшем будет использоваться напрямую, без проверок безопасности, привязки или директивами, которым необходим этот контекст безопасности. Например, маркирование строки как надёжной для контекста $sce.HTML полностью проигнорирует потенциальный вызов $sanitize в соответствующих $sce.HTML привязках или директивах, таких как ng-bind-html. Обратите внимание, что в большинстве случаев вызывать эту функцию не нужно: если у вас загружен санитайзер, передача самого значения отобразит весь HTML, который не представляет угрозы безопасности.

    См. getTrusted для функции, которая будет использовать эти надёжные значения, и $sce для общей информации о строгой контекстуальной экранизации.

    Параметры

    Параметр Тип Подробности
    type string

    Контекст, в котором это значение безопасно для использования, например $sce.URL, $sce.RESOURCE_URL, $sce.HTML, $sce.JS или $sce.CSS.

    value *

    Значение, которое должно рассматриваться как надёжное.

    Возвращаемое значение

    *

    Надёжное представление значения, которое можно использовать в данном контексте.

  • valueOf(value);

    Если переданный параметр был возвращён предыдущим вызовом $sceDelegate.trustAs, возвращает значение, переданное $sceDelegate.trustAs.

    Если переданный параметр не является значением, возвращённым $sceDelegate.trustAs, он должен быть возвращён как есть.

    Параметры

    Параметр Тип Подробности
    value *

    Результат предыдущего вызова $sceDelegate.trustAs или что-либо ещё.

    Возвращаемое значение

    *

    Значение value, которое изначально было предоставлено $sceDelegate.trustAs, если value — результат такого вызова. В противном случае возвращает value без изменений.

  • getTrusted(type, maybeTrusted);

    Принимает любой ввод и либо возвращает значение, безопасное для использования в указанном контексте, либо генерирует исключение.

    На практике существуют разные случаи. При передаче строки эта функция выполняет проверки и санитацию, чтобы сделать её безопасной, не делая предварительных предположений. При получении результата вызова $sceDelegate.trustAs она возвращает исходное значение, если контекст этого значения действителен для контекста данного вызова. Наконец, эта функция может вызывать исключение, если нет способа сделать maybeTrusted безопасным значением (например, если санитация недоступна или невозможна).

    Параметры

    Параметр Тип Подробности
    type string

    Контекст, в котором должно использоваться это значение (например, $sce.HTML).

    maybeTrusted *

    Результат предыдущего вызова $sceDelegate.trustAs или что-либо ещё (что не будет считаться надёжным).

    Возвращаемое значение

    *

    Версия значения, безопасная для использования в данном контексте, или генерирует исключение, если это невозможно.

© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.6.9/docs/api/ng/service/$sceDelegate

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API