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