0

크롬 응용 프로그램을 만들고 실시간 변경을 수행 할 때 livereload를 사용하여 자동으로 업데이트하려고합니다. 하지만 다음과 같은 메시지가 무엇입니까 -콘텐츠 보안 정책이 로컬 호스트의 파일을로드하지 않습니다.

오류 메시지 :

Refused to load the script 'http://localhost:35729/livereload.js' because it violates the following Content Security Policy directive: "default-src 'self' chrome-extension-resource:". Note that 'script-src' was not explicitly set, so 'default-src' is used as a fallback. 

나는 나의의 manifest.json 파일에 다음 섹션을 추가하지만 크롬은 경고를주고 시작했다. 'content_security_policy'단지 확장을 허용하고 기존 패키지 애플리케이션, 이것은 패키지 응용 프로그램입니다 : -

"content_security_policy": "script-src 'self' 'http://127.0.0.1:1337/livereload.js'; object-src 'self'" 

경고이 확장을 설치하려고 할 때 여기

경고했다.

UPDATE :

나는 창을 만들 배경 스크립트를 사용할 때 문제가 발생한다. 나는 경우 내 매니페스트 파일

"background": { 
    "scripts": ["backgound.js"] 
}, 

"content_security_policy": "script-src 'self' http://localhost:1337/livereload.js 'unsafe-eval'; object-src 'self'" 

이있다 즉 때 백그라운드 스크립트를 사용하지 않는 대신에 이것을 사용 -

"app": { 
    "launch": { 
     "local_path": "window.html" 
    } 

그런 다음 모든 것이 잘 작동합니다. 누군가 이런 일이 왜 일어 났는지 설명해 주시겠습니까?

답변

-3

무엇이 당신의 질문입니다. 오류 메시지는 매우 자명합니다.

코드가 Chrome 앱에 적용되는 기본 CSP를 위반할 수 없습니다. 콘텐츠 보안 정책을 살펴보고 앱을 준수하게 만들었습니까? 어떤 것을 시도하고 있는지 예제를 보려면 code samples을 보셨습니까?

첫 번째 문제는 외부 콘텐츠를로드하고 실행하려고하는 것입니다. CSP는이를 금지합니다. 그렇지 않은 경우에도 앱을 오프라인으로 사용할 수 없습니다. 스크립트를 외부 (로컬 호스트) 서버가 아닌 앱의 일부로 포함 시키십시오. 그런 다음 다시 CSP을 읽고 오류 메시지가 사라지도록 나머지 문제를 해결하십시오.

+0

불행히도 구문 오류가 더 많았습니다. 나는 CSP 문서를 통해 갔지만 도움은 안된다. – Tushar

+0

질문이 업데이트되었습니다. 지금 이해가 되셨습니까? – Tushar