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的朋友參考下。