0

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

4

3 回答 3

4

很老...我知道
但是如果有人正在寻找这个,你可以让你的扩展版本读取chrome.runtime带有API 和方法的清单文件getManifest

前任。在您的后台脚本中:

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

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

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

所以..如果你想要例如所有而且只有matches你的……content_scripts说点什么……

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

注意:自 Chrome 22 起稳定

于 2014-02-28T14:02:03.997 回答
2

它没有记录,因为它们可能正在移动getDetails到 API 的不同部分——请参阅这个错误。它目前正在我的 Chrome 副本(测试版通道)上工作,但如果他们在较新的版本中禁用它,我不会感到惊讶。与此同时,您可以通过 AJAX 查询来获取manifest.json您的扩展名——您可以使用chrome.extension.getURL("manifest.json").

于 2012-12-12T01:48:28.520 回答
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({}); 
于 2014-02-12T08:30:39.070 回答