后来的AngularJS(1.3 beta 19)使用eval。铬萃取中禁止这样做。
eval
如何在 不允许评估的情况下 解决问题?
错误信息:
拒绝将字符串评估为JavaScript,因为在以下内容安全策略指令:“ script-src’self’chrome-extension- resource:”中不允许使用’unsafe-eval’作为脚本源。
堆栈跟踪:
angular.js:1011 csp angular.js:1011 (anonymous function) angular.js:23556
更新:请参阅https://docs.angularjs.org/api/ng/directive/ngCsp的文档ng- csp
ng- csp
过时的:看起来AngularJS无法检测到Chrome扩展程序中的CSP。使用显式ng- csp。链接到AngularJS问题:https : //github.com/angular/angular.js/issues/8777
引用Dmitry链接的文档:
Angular会尝试自动检测CSP是否处于活动状态,并自动打开CSP安全模式。但是,此自动检测将触发CSP错误,以记录在控制台中: 拒绝将字符串评估为JavaScript,因为在以下内容安全策略指令“ default-src’self’”中不允许使用’unsafe- eval’作为脚本源。 请注意,未明确设置“ script-src”,因此将“ default-src”用作后备。 该错误是无害的但令人讨厌。为防止出现错误,请将ngCsp指令放在应用程序的根元素或angular.jsscript标记上,以html文档中最先出现的那个为准。
Angular会尝试自动检测CSP是否处于活动状态,并自动打开CSP安全模式。但是,此自动检测将触发CSP错误,以记录在控制台中:
拒绝将字符串评估为JavaScript,因为在以下内容安全策略指令“ default-src’self’”中不允许使用’unsafe- eval’作为脚本源。 请注意,未明确设置“ script-src”,因此将“ default-src”用作后备。
该错误是无害的但令人讨厌。为防止出现错误,请将ngCsp指令放在应用程序的根元素或angular.jsscript标记上,以html文档中最先出现的那个为准。
ngCsp
angular.js