2016-06-12 2 views
0

chrome이 실행을 거부하지만 firebase.js를 background.js (이미 이상하게 보임)에 포함시키기 위해 Chrome 확장 프로그램에 jQuery를 구현하려고합니다. jquery.js 내부의 코드.Chrome 확장 기능 - 거부 된 인라인 스크립트 eventhough 포함

background.js

$.getScript('firebase.js', function() 
{ 
// code depending on firebase.js, jquery is just needed here to include firebase.js 
}); 

popup.html

<html> 
    <head> 
     <script src="jquery-3.0.0.min.js"></script> 
     <script src="firebase.js"></script> 
     <script src="popup.js"></script> 
     <script src="background.js"></script> 
    </head> 
    <body> 
    //stuff happens 
    </body> 
</html> 

manifest.json을 보이게 나를 위해 그래서

"content_scripts":[ 
    { 
     "js":["jquery-3.0.0.min.js"],  
     "all_frames":true 
} 
], 
"background": { 
    "scripts": ["background.js"], 
    "persistent": true 
    }, 

그것은 제대로 포함되어 있지만, 나는 jquery 라이브러리 안에 있기 때문에 매우 이상한, 이것을 받고있다 :

jquery-3.0.0.min.js : 2 인라인 스크립트를 실행하기를 거부했다. 다음 내용 보안 정책을 위반합니다.

Firebase.js를 background.js에 포함시키는 방법에 대한 다른 방법이 없습니까? 그것이 거기서 작동하지 않는다는 것은 말이되지 않습니다. 그것은 popup.html에 포함되어 있습니다.

+0

인라인 자바 스크립트 코드로''* .html'' 파일 내부에''.js'' 파일을 생성하고''src = "myscript.js"'' – Ismail

+0

정확히 무엇을 의미합니까? 인라인 스크립트가 실행되지 않는다는 것을 알고 있습니다. src는 인라인 스크립트가 아닙니다. 맞습니까? – ffritz

+0

문제는 jquery.js 내부에서 인라인 스크립트를 실행하고 싶지 않다는 것입니다. – ffritz

답변

1

이 오류는 파일에 코드를 가져오고 다음을 텍스트로서 코드로 <script> 요소를 작성합니다

$.getScript('firebase.js', function() { ... 

jQuery의 getScript에서 온다. 이는 콘텐츠 보안 정책에 의해 금지 된 인라인 스크립트입니다.

당신이 간단하게 넣을 수 있습니다 단지 background.js에서 코드 전에 파일을 포함 할 경우 :의 manifest.json

"scripts": ["firebase.js", "background.js"], 

합니다.

+0

지금 매우 감사합니다. – ffritz

관련 문제