2016-09-20 66 views
3

我想創建一個與AngularJS 1.5依賴關係的Chrome插件。 在那,我得到這個錯誤。AngularJS 1中的CSP錯誤是什麼?

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:". 

我無法理解背後的問題。

相同的應用程序在web應用程序上正常工作。爲什麼我得到這個錯誤?

+0

對這篇文章看看。 https://developer.mozilla.org/zh-CN/docs/Web/Security/CSP –

回答

1

Angular 1.5使用了一些可能與使用CSP(內容安全策略)規則時應用的某些限制相沖突的功能。

在標題級別,請提及此。並且,看看 Angular ngCSP

+0

你確定這會幫到你嗎? –

0

ng-csp指令用於更改AngularJS的安全策略。

通過設置ng-csp指令,AngularJS不會運行任何eval函數,也不會插入任何內聯樣式。

將ng-csp指令的值設置爲no-unsafe-eval,將阻止AngularJS運行任何eval函數,但允許注入內聯樣式。

將ng-csp指令的值設置爲非內聯樣式,將阻止AngularJS注入任何內聯樣式,但允許使用eval函數。

爲Google Chrome擴展程序或Windows應用程序開發應用程序時,需要使用ng-csp指令。

例子:

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