Google chrome extension 从manifest.json读取版本

Google chrome extension 从manifest.json读取版本,google-chrome-extension,Google Chrome Extension,Chrome扩展是否有办法从manifest.json读取属性?我希望能够读取版本号并在扩展中使用它。我使用这种方式 就这些。这个简短的代码片段加载manifest对象,并将其放在其他chrome.*API中。因此,现在您可以获得所需的任何信息: // current version chrome.manifest.version // default locale chrome.manifest.default_locale 您只需使用chrome.runtime.getManifest

Chrome扩展是否有办法从
manifest.json
读取属性?我希望能够读取版本号并在扩展中使用它。

我使用这种方式

就这些。这个简短的代码片段加载manifest对象,并将其放在其他chrome.*API中。因此,现在您可以获得所需的任何信息:

// current version 
chrome.manifest.version

// default locale
chrome.manifest.default_locale

您只需使用
chrome.runtime.getManifest()
访问清单数据,无需获取并解析清单数据

var manifestData = chrome.runtime.getManifest();
console.log(manifestData.version);
console.log(manifestData.default_locale);
其实很简单

function yourFunction() {
return chrome.app.getDetails().version;
}
在这里,您可以随意命名
您的函数

然后要调用它,只需将
yourfunction()
插入到需要调用版本号的任何位置


例如,如果您的版本号是9.07,那么
yourfunction()
实际上等于9.07

的数值,snipet
chrome.app.getDetails()
不再工作,返回错误:

TypeError:对象#没有方法“getDetails”


您想改用
chrome.runtime.getManifest()

由于chrome 22,您应该使用


console.log(chrome.runtime.getManifest().version)
/manifest.json
中执行ajax请求怎么样。你试过了吗?尝试使用jQuery、GET、JSON或简单的AJAX函数。应该让我们知道您也尝试了什么。我认为从manifest.json读取版本不是个好主意,如果您不在extensions(扩展)选项卡中重新加载或刷新加载项,只需读取它,它将显示正确的版本,但事实上,以前的版本仍在运行,更新的版本尚未加载。请注意,如果您想在某个位置存储任意JSON配置,此方法仍然适用,因为向manifest.json添加自定义键/值将引发警告。我有一个单独的data.json,它存储服务器的URL(这在开发/生产中是不同的),我用上面的方法解析它。@nfm我尝试过这个方法,但它似乎忽略了这个文件,我在尝试加载它时出错,我需要在manifest.json中的某个地方引用它吗?这基本上是Ondrej的答案。代码片段只对完整的js/html/css页面有意义,而扩展不是。
function yourFunction() {
return chrome.app.getDetails().version;
}