AngularJS基础 ng-csp 指令详解
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的朋友参考下。
上一篇: AngularJS基础 ng-dblclick 指令用法
下一篇: [PHP]实用函数4