1

Chrome 확장 프로그램에 외부 js 파일을로드하는 데 문제가 있습니다.크롬 확장 정책 선언이 작동하지 않습니다.

다음
"content_security_policy": "script-src 'self' 'unsafe-eval' 'unsafe-inline' http://proto.office.atlassian.com; object-src 'self'" 

내가 내 popup.html에서 스크립트를 호출하는거야 방법은 다음과 같습니다 : 여기

<script src="http://proto.office.atlassian.com/prototypes.js"></script> 

내가지고있어 오류 발생 :

Refused to load the script 'http://proto.office.atlassian.com/prototypes.js' because it violates the following Content Security Policy directive: "script-src 'self'" 
여기 내 매니페스트 내 CSP 항목입니다

CORS가 서버에 올바르게 설정되어 있고 XMLHttpRequest를 통해 스크립트를 가져올 수 있지만 스크립트 태그를 통해 스크립트를로드하거나 가져온 것으로 평가할 수는 없습니다. 어떤 도움을 주시면 감사하겠습니다 :)

답변

2

외부 스크립트는 명시 적으로 content security policy에 의해 명시되어야합니다.

일부 외부 자바 스크립트 또는 객체 자원에 대한 필요가있을 경우, 스크립트 허용되어야하는 보안 기원을 허용 목록에 의해 제한된 범위에 대한 정책을 휴식을 취할 수 있습니다 ... 스크립트를 허용

편안한 정책 정의 자원처럼 보일 수 있습니다 HTTPS를 통해 example.com에서로드 할 :

"content_security_policy":"script-src 'self' https://example.com; object-src 'self'" 

당신이 HTTPS를 통해 jQuery를 CDN 자원을로드해야합니다 있도록 스크립트 만, HTTPS를 통해 확장에로드 할 수 있습니다

<script src="https://ajax.googleapis.com/..."></script> 
{ 
"manifest_version": 2, 
"name": "One-click Kittens", 
"description": "This extension demonstrates a 'browser action' with kittens.", 
"version": "1.0", 
"browser_action": { 
"default_icon": "icon.png", 
"default_popup": "popup.html" 
}, 
"content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'" 
} 
+0

아, 고마워. 그게 https 여야한다는 걸 몰랐어. 내 서버에 SSL을 설정하면 모든 것이 잘 작동합니다. :) – jjcm

관련 문제