AngularJS基础 ng-csp 指令详解

时间:2021-05-28

AngularJS ng-csp 指令

AngularJS 实例

修改 AngularJS 中关于 "eval" 的行为方式及内联样式:

<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body ng-app="" ng-csp><div><p>我的第一个表达式: {{ 5 + 5 }}</p></div><p>使用 ng-csp 指令, 你可以修改 AngularJS 执行代码的方式。</p><p>AngularJS 的执行方式提高了 30% 的性能</p></body></html>

运行结果:

我的第一个表达式:10

使用 ng-csp 指令, 你可以修改 AngularJS 执行代码的方式。

AngularJS 的执行方式提高了 30% 的性能

定义和用法

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% 的性能。

语法

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

参数值

值 描述 no-unsafe-eval
no-inline-style 值可设置为空,意味着 eval 和 内联样式都不被允许。
可以设置其中一个值。
你也可以同时设置两个值使用分号隔开,但这与留空的效果是一样的。

以上就是对AngularJS ng-csp 指令资料的整理,学习AngularJS的朋友参考下。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章