AngularJS ng-csp 指令
定义和用法
ng-csp
指令用于更改 AngularJS 的安全策略。
设置 ng-csp
指令后,AngularJS 将不会运行任何 eval 函数,也不会注入任何内联样式。
将 ng-csp
指令的值设置为 no-unsafe-eval
,将阻止 AngularJS 运行任何 eval 函数,但允许注入内联样式。
将 ng-csp
指令的值设置为 no-inline-style
,将阻止 AngularJS 注入任何内联样式,但允许 eval 函数。
为 Google Chrome 扩展或 Windows 应用开发应用程序时,需要使用 ng-csp
指令。
注意:ng-csp
指令不会影响 JavaScript,但它改变了 AngularJS 的工作方式,这意味着:你仍然可以编写 eval 函数,它们将按你期望的方式执行,但 AngularJS 不会运行自己的 eval 函数。它使用一种兼容模式,这可能会使评估时间减慢高达30%。
实例
改变AngularJS在 "eval" 和内联样式方面的行为:
<body ng-app="" ng-csp>
...
语法
<element ng-csp="no-unsafe-eval | no-inline-style"></element>
参数
参数 | 描述 |
---|---|
|
值可以为空,意味着既不允许eval也不允许内联样式。 该值可以是所描述的两个值之一。 该值可以是两个值,用分号分隔,但这与空值具有相同的含义。 |