AngularJS 1中的CSP错误是什么?

时间:2016-09-20 06:01:19

标签: angularjs

我正在尝试使用AngularJS 1.5依赖项创建一个chrome插件。 在那,我收到这个错误。

EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "default-src 'self' blob: filesystem: chrome-extension-resource:".

我无法理解这背后的问题。

相同的应用程序在网络应用程序上正常工作。为什么我会收到此错误?

2 个答案:

答案 0 :(得分:2)

Angular 1.5使用的某些功能可能会与使用CSP(内容安全策略)规则时应用的某些限制冲突。

在标题级别,请提及此内容。     

另外,看一看 Angular ngCSP

答案 1 :(得分:1)

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指令。

示例:

<!doctype html>
<html ng-app ng-csp>
...
...
</html>