AngularJS ng-csp指令
ng-CSP指令用于改变AngularJS的安全策略,并在需要时打破CSP(内容安全策略)的许多规则。它也不会运行任何评价函数,尽管通过对ng-csp指令设置no-unsafe-eval的值,允许向应用程序注入内联样式代码。当我们为操作系统(windows应用程序)或浏览器(如Google Chrome Extensions、Firefox Extensions等)开发应用程序时,这一点是必须的,因为AngularJS允许使用eval函数,但通过在ng-csp指令中指定no-line-style值,AngularJS将被阻止注入任何内联样式。
Javascript不会受到ng-csp指令的影响,但是AngularJS的工作可能会发生变化,也就是说,eval()函数仍将如期使用,但AngularJS的实际eval()函数不会运行,因为它采用了兼容模式,整体评估时间可能会减少30%。
语法:
<element ng-csp="no-inline-style | no-unsafe-eval"> </element>
参数植:
- no-unsafe-eval:内联风格和评估风格都不允许,因此该值可以保持为空。
- no-line-style:无论该值是用分号(;)分隔还是保持空值,都会表现为空值。在所述的2个值中,该值可以是其中任何一个。
例子:这个例子描述了AngularJS中**ng-csp指令的用法。
<!DOCTYPE html>
<html>
<head>
<script src=
"https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js">
</script>
</head>
<body ng-app=""
style="text-align:center" ng-csp>
<div >
<h1 style="color:green">
GeeksforGeeks
</h1>
<h3 style="color:purple">
AngularJS ng-csp Directive
</h3>
</div>
<p>The expression is {{ 10 + 10 }}</p>
</body>
</html>
输出: