AngularJS在chrome扩展中使用eval

Dmi*_*dov 1 eval google-chrome-extension angularjs

Laular AngularJS(1.3 beta 19)使用eval.这在铬镀铬中是禁止的.

如何解决问题而不允许进行贬值

错误信息:

拒绝将字符串评估为JavaScript,因为"unsafe-eval"不是以下内容安全策略指令中允许的脚本源:"script-src'self'chrome-extension-resource:".

堆栈跟踪:

angular.js:1011
csp angular.js:1011
(anonymous function) angular.js:23556
Run Code Online (Sandbox Code Playgroud)

更新:请参阅https://docs.angularjs.org/api/ng/directive/ngCsp的文档ng-csp

OUTDATED:看起来AngularJS无法在chrome扩展中检测到CSP.使用显式ng-csp.链接到AngularJS问题:https://github.com/angular/angular.js/issues/8777

Xan*_*Xan 6

引用德米特里链接的文档:

如果CSP处于活动状态,Angular会尝试自动检测并自动打开CSP安全模式.但是,此自动检测会触发在控制台中记录的CSP错误:

拒绝将字符串评估为JavaScript,因为"unsafe-eval"不是以下内容安全策略指令中允许的脚本源:"default-src'self'".请注意,'script-src'未明确设置,因此'default-src'用作后备.

这个错误是无害的,但很烦人.要防止错误显示,请将ngCsp指令放在应用程序的根元素或angular.js脚本标记上,以html文档中首先出现的为准.