2012-12-11 2 views
0

chrome.app.getDetails().version을 사용하여 런타임에 내 확장 버전을 얻으려고 시도했는데 이 null을 반환하는 것으로 나타났습니다. 놀랍게도, 온라인 커뮤니티에서 이에 대한 이야기는 없으며 기능은 Google 사람들이 문서화하지 않았습니다. 제가 누락 된 허가가 있습니까? 나는 tabs을 활성화 시켰습니다.chrome.app.getDetails()가 null을 반환합니다.

답변

2

getDetails을 API의 다른 부분으로 옮길 수 있으므로 문서화되지 않았습니다. this bug을 참조하십시오. 현재 Chrome의 베타 버전 (베타 채널)에서 작업하고 있지만 최신 버전에서는 사용 중지 한 경우 놀라지 않을 것입니다. 당분간 AJAX 쿼리를 통해 확장 기능의 manifest.json을 얻을 수 있습니다. chrome.extension.getURL("manifest.json")을 사용하여 URI를 가져올 수 있습니다.

0

다음은 현재 버전을 가져 오는 데 사용하는 것입니다.

var manifest = new XMLHttpRequest(); 
    manifest.open("get", "/manifest.json", true); 
    manifest.onreadystatechange = function (e) { if (manifest.readyState == 4) {console.log(JSON.parse(manifest.responseText).version)} }; 
    manifest.send({}); 
4

아주 오래된 ... 내가
을 알고 있지만 경우에 사람이 찾고있는 경우, 당신은 chrome.runtime API와 getManifest 방법으로 매니페스트 파일을 읽는 확장 버전 을 가질 수 있습니다.

Ex. 당신의 배경 스크립트 : 당신이 manifest file

의 모든 정보를 얻을 그래서 수 있도록 예를 들어 모든 원하는 경우

var manifest = chrome.runtime.getManifest(); 
var current_version = manifest.version; 

console.info('Current Version: ', current_version); 

는 반환되는 객체는 .. 전체 매니페스트 파일의 직렬화입니다 만 당신의 content_scriptsmatches ...에 대한이 ... 뭔가 말을

for(var i in manifest.content_scripts) { 
    console.log(manifest.content_scripts[i]['matches'])); 
} 

없음 te : Chrome 이후 안정적 22

관련 문제