I'm developing a Chrome extension and I'm wondering is there a way that I can detect which version of Chrome the user is using?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Get major version of Chrome as an integer:
function getChromeVersion () {
var raw = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
return raw ? parseInt(raw[2], 10) : false;
}
I've updated the original answer, so that it does not throw an exception in other browsers, and does not use deprecated features.
You can also set minimum_chrome_version
in the manifest to not let users with older versions install it.
回答2:
Here is a version, based on the answer from @serg, that extracts all of the elements of the version number:
function getChromeVersion () {
var pieces = navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/);
if (pieces == null || pieces.length != 5) {
return undefined;
}
pieces = pieces.map(piece => parseInt(piece, 10));
return {
major: pieces[1],
minor: pieces[2],
build: pieces[3],
patch: pieces[4]
};
}
The naming of the elements in the object that is returned is based on this convention, though you can of course adapt it to be based on this instead.