2013-09-24 2 views
0

확장 프로그램을 빌드 중이며 잘 구성하려고합니다. 그것의 일부는 어떤 유형 (콧수염, 핸들 바 등)의 템플릿 시스템을 사용할 것입니다. 나는 이미 내가 간다는 라이브러리의 특정 평가판이 아닌 버전을 사용해야한다는 것을 이미 알고있다.Chrome 확장 프로그램 내부에 xhr 파일을 포함 할 수 없습니다.

문제는 app.js 스크립트 (핵심 로직)에서/템플릿 (아래 참조)의 파일 내용을로드 할 수 없다는 것입니다.

로드 이벤트가 발생하지 않으며 onreadystatechange를 사용하여 검사하면 즉시 상태 코드 0으로 상태 4로 이동합니다. 상태 4와 상태 200은 우리가 원하는 것입니다.

파일에 대한 Chrome URL을 가져 오는 중입니다 (예 :

chrome.extension.getURL('templates/view1.html') 
//chrome-extension://hdhpjlpbepobcdgnkklnakdpoojaahjg/templates/view1.html 

올바르게 구성되지 않은 manifest.json에 뭔가가있는 것으로 의심됩니다. CSP 문서를 읽었지만 확장 프로그램의 로컬 파일에 액세스하는 것이 거부되어야하는 이유는 무엇인지 알 수 없습니다. XHR 요청은 오류를 발생시키지 않으며 데이터를 반환하지 않습니다.

응용 프로그램의 구조는 다음과 같다 :

/manifest.json 
/src 
    app.js 
    style.css 
/libs 
    jquery.js 
    mustache.js 

/templates 
    view1.html 
    view2.html 

의 manifest.json 당신은 당신이 당신의 매니페스트에 web_accessible_resources 섹션에로드 할 파일을 나열 할 필요가

{ 
    "name": "Test Extension", 
    "version": "0.0.1", 
    "manifest_version": 2, 
    "icons": { 
// "16": "", 
// "48": "" 
// "128": "" 
    }, 
// "default_locale": "en", 
    "permissions": [ 
    "contentSettings", 
    "http://*/*", 
    "https://*/*" 
    ], 
    "content_scripts": [ 
    { 
     "matches": [ 
     "https://www.google.com/search*" 
     ], 
     "css": [ 
     "src/style.css" 
     ], 
     "js": [ 
     "src/app.js", 
     "libs/jquery.js", 
     "libs/mustache.js" 
     ], 
     "run_at": "document_start" 
    } 
    ] 
} 

답변

1

.

+0

고마워요. 나는 정직하게 수색, 독서 및 실험 시간을 보냈다. 그리고 어떤 시점에서 나는 이것에 대한 언급을 보지 못했다. 다행히도 이것은 미래의 사람들에게 유용 할 것입니다. – Geuis

관련 문제