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

How can I detect the users browser client side?

本文关键字:用户 浏览器 客户端 检测 何检测      更新时间:2024-03-09

我知道这是一种糟糕的做法,特征识别应该是构建网站的方法。然而,这不是我的用例。

我有不同版本的浏览器扩展,我想根据他们当前的浏览器更改下载按钮。

我已经尝试过使用navigator.userAgent,事实证明它非常无用,因为大多数浏览器都设置了所有流行的用户代理。例如chrome就是这样。

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字符串开头的历史。对误解表示歉意。

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

对于Chrome,除了在navigator.userAgent:上生成正则表达式之外

var isChrome = /Chrome/.test(navigator.userAgent);

你也可以在上进行检查

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

我建议你看看这个答案,了解更多的细节。

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