chrome.app.getDetails()返回null

时间:2012-12-11 18:39:19

标签: google-chrome google-chrome-extension

我尝试使用chrome.app.getDetails().version在运行时获取我的扩展程序版本,并注意到chrome.app.getDetails()返回null。令人惊讶的是,在线社区没有谈论这个问题,谷歌人员甚至都没有记录这个功能。是否有我遗失的许可?我确实启用了tabs

3 个答案:

答案 0 :(得分:4)

很老......我知道 但是,如果有人正在寻找此功能,您可以使用chrome.runtime API和getManifest方法将扩展程序版本读取清单文件。

实施例。在你的后台脚本中:

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

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

返回的对象是完整清单文件的序列化,因此您可以获取manifest file

中的所有信息

所以..如果你想要所有的而且只你的matches的{​​{1}} ......说些什么......

content_scripts

注意:自Chrome 22以来稳定

答案 1 :(得分:2)

它没有记录,因为它们可能会将getDetails移动到API的不同部分 - 请参阅this bug。它目前正在处理我的Chrome(测试频道)副本,但如果他们在新版本中禁用了它,我不会感到惊讶。在此期间,您只需执行AJAX查询即可获得扩展程序的manifest.json - 您可以使用chrome.extension.getURL("manifest.json")获取其URI。

答案 2 :(得分: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({});