ng-cspDyrektywa AngularJS


Przykład

Zmień sposób, w jaki AngularJS zachowuje się w odniesieniu do stylów „eval” i wbudowanych:

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

Definicja i użycie

Dyrektywa ng-cspsłuży do zmiany polityki bezpieczeństwa AngularJS.

Z ng-cspustawioną dyrektywą, AngularJS nie będzie uruchamiał żadnych funkcji eval i nie będzie wstrzykiwał żadnych stylów wbudowanych.

Ustawienie wartości ng-cspdyrektywy na no-unsafe-eval, zatrzyma AngularJS przed uruchamianiem jakichkolwiek funkcji eval, ale pozwoli na wstrzykiwanie stylów wbudowanych.

Ustawienie wartości ng-cspdyrektywy na no-inline-style, zatrzyma AngularJS przed wstrzykiwaniem jakichkolwiek stylów wbudowanych, ale zezwoli na funkcje eval.

Stosowanie ng-cspdyrektywy jest konieczne podczas tworzenia aplikacji dla rozszerzeń Google Chrome lub aplikacji dla systemu Windows.

Uwaga: Dyrektywa ng-cspnie wpływa na JavaScript, ale zmienia sposób działania AngularJS, co oznacza: nadal możesz pisać funkcje eval i będą one wykonywane zgodnie z oczekiwaniami, ale AngularJS nie uruchomi własnych funkcji eval. Wykorzystuje tryb zgodności, który może spowolnić czas oceny nawet o 30%.


Składnia

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

Wartości parametrów

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.