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