AngularJS ng-csp 指令

AngularJS 參考手冊(cè) AngularJS 參考手冊(cè)


AngularJS 實(shí)例

修改 AngularJS 中關(guān)于 "eval" 的行為方式及內(nèi)聯(lián)樣式:

<body ng-app="" ng-csp>
...

嘗試一下 ?

定義和用法

ng-csp 指令用于修改 AngularJS 的安全策略。

如果使用了 ng-csp 指令, AngularJS 將不會(huì)執(zhí)行eval 函數(shù),這樣就無(wú)法注入內(nèi)聯(lián)樣式。

設(shè)置 ng-csp 指令為 no-unsafe-eval, 將阻止 AngularJS 執(zhí)行 eval 函數(shù),但允許注入內(nèi)聯(lián)樣式。

設(shè)置 ng-csp 指令為 no-inline-style, 將阻止 AngularJS 注入內(nèi)聯(lián)樣式,但允許 執(zhí)行 eval 函數(shù)。

如果開(kāi)發(fā) Google Chrome 擴(kuò)展或 Windows 應(yīng)用 ng-csp 指令是必須的。

注意:ng-csp 指令不會(huì)影響 JavaScript,但會(huì)修改 AngularJS 的工作方式,這就意味著: 你仍然可以編寫(xiě) eval 函數(shù), 且也可以正常執(zhí)行, 但是 AngularJS 不能執(zhí)行它自己的 eval 函數(shù)。如果采用兼容模式,會(huì)降低 30% 的性能。


語(yǔ)法

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

參數(shù)值

描述
no-unsafe-eval
no-inline-style
值可設(shè)置為空,意味著 eval 和 內(nèi)聯(lián)樣式都不被允許。
可以設(shè)置其中一個(gè)值。
你也可以同時(shí)設(shè)置兩個(gè)值使用分號(hào)隔開(kāi),但這與留空的效果是一樣的。

AngularJS 參考手冊(cè) AngularJS 參考手冊(cè)