如何从我的扩展程序中找到Chrome浏览器的版本?

Dmi*_*tri 11 google-chrome-extension

我知道我可以添加

我的清单文件的minimum_chrome_version属性至少需要此版本的chrome

但我正在寻找的是允许在任何chrome版本上安装我的扩展程序,但然后从后台页面或我的选项页面检查chrome浏览器版本的版本并基于启用或禁用我的扩展程序的某些功能取决于某些minumim版本.

令人惊讶的是,我无法找到这样做的方法,即使谷歌搜索也无济于事.

有谁知道如何检查我的扩展程序正在运行的客户端Chrome浏览器的版本?

Rob*_*b W 14

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

var chromeVersion = /Chrome\/([0-9.]+)/.exec(navigator.userAgent)[1];
Run Code Online (Sandbox Code Playgroud)

使用此功能"检测"功能时,请注意某些功能的可用性因频道而异.特别是,虽然两个频道上的版本具有相同的版本字符串,但许多新功能已经在测试版频道上提供,但在稳定频道上没有.您可以检测API的存在,而不是使用版本来禁用功能,例如:

if (chrome.declarativeWebRequest) {
    // Use declarativeWebRequest API...
} else {
    // fall back to webRequest API...
}
Run Code Online (Sandbox Code Playgroud)

  • 这听起来像是一种提取 chrome 版本的黑客方法。我的意思是 chrome api 应该提供一种获取实际版本的方法,而不是 useragent 报告的使用情况。我不确定 useragent 是否可以被用户欺骗。 (3认同)