Is there a way for a Chrome extension to read properties from manifest.json
? I'd like to be able to read the version number and use it in the extension.
问问题
17418 次
5 回答
103
您可以只使用chrome.runtime.getManifest()
来访问清单数据 - 您不需要 GET 并解析它。
var manifestData = chrome.runtime.getManifest();
console.log(manifestData.version);
console.log(manifestData.default_locale);
于 2013-01-15T22:49:56.967 回答
16
snipetchrome.app.getDetails()
不再工作,返回错误:
TypeError: Object # has no method 'getDetails'
你想chrome.runtime.getManifest()
改用。
于 2014-03-12T20:37:49.767 回答
6
我用这种方式。
chrome.manifest = (function() {
var manifestObject = false;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
manifestObject = JSON.parse(xhr.responseText);
}
};
xhr.open("GET", chrome.extension.getURL('/manifest.json'), false);
try {
xhr.send();
} catch(e) {
console.log('Couldn\'t load manifest.json');
}
return manifestObject;
})();
就这样。这个简短的代码片段加载清单对象并将其放在其他 chrome.* API 中。因此,现在您可以获得所需的任何信息:
// current version
chrome.manifest.version
// default locale
chrome.manifest.default_locale
于 2013-01-04T08:53:53.920 回答
6
从 Chrome 22 开始,您应该使用chrome.runtime
console.log(chrome.runtime.getManifest().version);
于 2015-09-08T10:02:56.633 回答
0
其实很简单。
function yourFunction() {
return chrome.app.getDetails().version;
}
您可以在其中命名yourFunction
任何您喜欢的名称。
然后调用它,只需yourfunction()
在要调用版本号的任何位置插入即可。
例如,如果您的版本号是9.07,那么实际上等于9.07yourfunction()
的数值
于 2013-08-29T21:17:26.480 回答