Google chrome extension 如何从我的扩展中找到Chrome浏览器的版本?

Google chrome extension 如何从我的扩展中找到Chrome浏览器的版本?,google-chrome-extension,Google Chrome Extension,我知道我可以添加 我的清单文件的最低chrome\u版本属性至少需要此版本的chrome 但我所寻找的是允许在任何chrome版本上安装我的扩展 然后从背景页面或“我的选项”页面检查 chrome浏览器版本和基于的浏览器不支持启用或禁用的某些功能 我的扩展依赖于特定的minumim版本 令人惊讶的是,我没能找到一种方法来做到这一点,甚至谷歌搜索也没有帮助 有人知道如何检查运行我的扩展的客户端chrome浏览器的版本吗?您可以从用户代理字符串中提取当前chrome版本: var chromeVer

我知道我可以添加

我的清单文件的最低chrome\u版本属性至少需要此版本的chrome

但我所寻找的是允许在任何chrome版本上安装我的扩展 然后从背景页面或“我的选项”页面检查 chrome浏览器版本和基于的浏览器不支持启用或禁用的某些功能 我的扩展依赖于特定的minumim版本

令人惊讶的是,我没能找到一种方法来做到这一点,甚至谷歌搜索也没有帮助


有人知道如何检查运行我的扩展的客户端chrome浏览器的版本吗?

您可以从用户代理字符串中提取当前chrome版本:

var chromeVersion=/Chrome\/([0-9.]+)/.exec(navigator.userAgent)[1];
当使用此选项“检测”功能时,请记住某些功能的可用性在不同的应用程序中有所不同。特别是,许多新功能已经在beta频道上可用,但在stable频道上不可用,即使两个频道上的版本具有相同的版本字符串。您可以检测API的存在,而不是使用版本来禁用功能,例如:

if(chrome.declarativeWebRequest){
//使用DeclarativeWebRequestAPI。。。
}否则{
//回到WebRequestAPI。。。
}
来自


这听起来像是一种提取chrome版本的黑客方法。我的意思是ChromeAPI应该提供一种获取实际版本的方法,而不是useragent报告的使用情况。我不确定用户代理是否可以被用户欺骗。@Dmitri用户代理可以通过开发人员工具临时欺骗。这要求用户输入1。打开后台页面的开发人员工具。2.单击右下角的齿轮图标。3.在“覆盖”选项卡中选择自定义用户代理。用户代理将被覆盖,直到开发者工具关闭。由于这些步骤需要大量的关注和努力,并且更改此值不符合用户的利益,因此当从Chrome扩展的背景页面读取时,您可以假设用户代理是坚如磐石的。根据Chrome扩展团队,这是正确答案。如果用户配置了用户代理(例如,使用[user agent switcher](.),则会中断,超出范围。下面@ubuntugx的答案更好。
var chromeVersion=(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1];