ng-cspДиректива AngularJS


Пример

Измените поведение AngularJS в отношении «eval» и встроенных стилей:

<body ng-app="" ng-csp>
...

Определение и использование

Директива ng-cspиспользуется для изменения политики безопасности AngularJS.

С установленной ng-cspдирективой AngularJS не будет запускать никакие функции eval и не будет внедрять какие-либо встроенные стили.

Установка значения ng-cspдирективы на no-unsafe-evalостановит выполнение любых функций eval в AngularJS, но позволит внедрять встроенные стили.

Установка значения ng-cspдирективы в no-inline-styleостановит AngularJS от внедрения каких-либо встроенных стилей, но разрешит функции eval.

Использование ng-cspдирективы необходимо при разработке приложений для расширений Google Chrome или Windows Apps.

Примечание . ng-cspДиректива не влияет на JavaScript, но меняет способ работы AngularJS, а это означает: вы по-прежнему можете писать функции eval, и они будут выполняться так, как вы ожидаете, но AngularJS не будет запускать собственные функции eval. Он использует режим совместимости, который может замедлить время оценки до 30%.


Синтаксис

<element ng-csp="no-unsafe-eval | no-inline-style"></element>

Значения параметров

Value Description
no-unsafe-eval
no-inline-style
The value can be empty, meaning neither eval or inline styles are allowed.
The value can be one of the two values described.
The value can be both values, separated by a semicolon, but that will have the same meaning as an empty value.