如何检测用户浏览器客户端?

时间:2016-04-07 20:31:00

标签: javascript google-chrome firefox web browser

我知道这是不好的做法,功能识别应该是构建网站的方法。但这不是我的用例。

我的浏览器扩展程序有不同的发行版,我想根据当前的浏览器更改下载按钮。

我尝试过使用navigator.userAgent,这已被证明是无用的,因为大多数浏览器都设置了所有热门用户代理。例如,铬有这个。

navigator.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36"

我看过许多网站的下载按钮都有此功能。这怎么做得好?

编辑:我现在已经了解了为什么“Mozzila / X.X”位于userAgent字符串开头的历史。为误解道歉。

1 个答案:

答案 0 :(得分:2)

您可以通过多种方式检测浏览器。

对于Chrome,除了在navigator.userAgent

上制作正则表达式之外
var isChrome = /Chrome/.test(navigator.userAgent);

您也可以查看:

var isChrome = !!window.chrome && !!window.chrome.webstore;

我建议您查看this answer了解更多详情。

您还应该考虑使用Modernizr.js进行浏览器检测。