JavaScript如何通过userAgent判断几个常用浏览器详解

 更新时间:2021年06月18日 09:17:35   作者:土家肸哥  
userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值,这篇文章主要给大家介绍了关于JavaScript如何通过userAgent判断几个常用浏览器的相关资料,需要的朋友可以参考下

前言

通常在做h5页面的时候需要在微信、QQ、微博等生态内做一些引流的工作,但引流时受限于这些平台。比如上次的文章《h5唤醒app实现以及注意点》就是妥协的一个办法,那么常用的这几个浏览器的User Agent什么样呢?如何判断呢?今天就具体来看看这个问题。

User Agent定义

User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。---来自百度百科

从这句话可以知道我们通过UA能获取到用户使用的操作系统以及版本、cpu类型、浏览器以及版本等信息,是不是呢?

常见的几个浏览器UA

这里仅仅获取了微信、微博、QQ几个浏览器,其余的目前未获取,如果大家有补充的请私信或则定下评论哦。

安卓

安卓端的目前采用的是华为Honor V9 Play,当前Android系统版本为7.0,EMUI版本为5.1。

QQ浏览器

  • UA:mozilla/5.0 (linux; u; android 7.0; zh-cn; jmm-al10 build/honorjmm-al10) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/66.0.3359.126 mqqbrowser/9.6 mobile safari/537.36
  • Version:9.6.0.5170

QQ

  • UA:mozilla/5.0 (linux; android 7.0; jmm-al10 build/honorjmm-al10; wv) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/62.0.3202.84 mobile safari/537.36 v1_and_sq_8.1.0_1232_yyb_d qq/8.1.0.4150 nettype/wifi webp/0.4.1 pixel/720 statusbarheight/49 simpleuiswitch/0
  • Version:8.1.0.4150

微信

  • UA:mozilla/5.0 (linux; android 7.0; jmm-al10 build/honorjmm-al10; wv) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/66.0.3359.126 mqqbrowser/6.2 tbs/044807 mobile safari/537.36 mmwebid/4093 micromessenger/7.0.6.1460(0x27000634) process/tools nettype/wifi language/zh_cn
  • Version:7.0.6

微博

  • UA:mozilla/5.0 (linux; android 7.0; jmm-al10 build/honorjmm-al10; wv) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/62.0.3202.84 mobile safari/537.36 weibo (huawei-jmm-al10__weibo__9.8.0__android__android7.0)
  • Version:9.8.0

苹果

苹果端的目前采用的是iPhone 6s Plus,当前iOS版本为12.4。

QQ浏览器

  • UA:mozilla/5.0 (iphone; cpu iphone os 12_4 like mac os x) applewebkit/605.1.15 (khtml, like gecko) version/12.0 mqqbrowser/9.6.0 mobile/15e148 safari/604.1 qbwebviewua/2 qbwebviewtype/1 wktype/1
  • Version:9.6.0.4193

QQ

  • UA:mozilla/5.0 (iphone; cpu iphone os 12_4 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148 qq/8.1.0.437 v1_iph_sq_8.1.0_1_app_a pixel/1080 core/wkwebview device/apple(iphone 6splus) nettype/wifi qbwebviewtype/1 wktype/1
  • Version:8.1.0.437

微信

  • UA:mozilla/5.0 (iphone; cpu iphone os 12_4 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148 micromessenger/7.0.5(0x17000523) nettype/wifi language/zh_cn
  • Version:7.0.5

微博

  • UA:mozilla/5.0 (iphone; cpu iphone os 12_4 like mac os x) applewebkit/605.1.15 (khtml, like gecko) mobile/15e148 weibo (iphone8,2__weibo__9.7.1__iphone__os12.4)
  • Version:9.7.1

以上UA的所有值都通过toLowerCase处理,所以都是小写的。

分别判断几个常用浏览器

在判断之前需要对UA做一个操作就是将所有的字母都变成小写的,通过toLowerCase实现,然后分别来判断。

通过上面的几个UA其实已经很好判断了,在上次的文章里面已经有个这个写法了,如下:

/micromessenger/i.test(u)  // 判断微信
u.indexOf("weibo") > -1   // 判断微博
u.indexOf(" qq") > -1   // 判断QQ
u.indexOf("mqqbrowser") > -1   // 判断QQ浏览器

注意QQ的判断是需要在qq前面加空格的

获取其它信息

通过上面的UA其实不难看出还可以通过UA判断出当前是系统是Android还是iOS,可以通过以下代码来区分:

/android/i.test(UA)  // 判断Android
/(iPhone|iPad|iPod|iOS)/i.test(UA)  // 判断iOS

通过上面的数据还可以看出手机的具体类型,这里就不过多介绍了。另外很多移动端浏览器是可以改变UA的,比如夸克和UC。如果大家深入研究还能获取到更多的信息的。

总结

到此这篇关于JavaScript如何通过userAgent判断几个常用浏览器的文章就介绍到这了,更多相关JS userAgent判断浏览器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js基于canvas实现时钟组件

    js基于canvas实现时钟组件

    这篇文章主要介绍了js基于canvas实现时钟组件的方法,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
    2021-02-02
  • 一步步教你用js简单实现新年倒计时

    一步步教你用js简单实现新年倒计时

    一转眼已经腊月了,相信小伙伴们一定想知道我们距离2023新年还有多少天,下面这篇文章主要给大家介绍了关于如何一步步教你用js简单实现新年倒计时的相关资料,需要的朋友可以参考下
    2022-12-12
  • js面向对象之实现淘宝放大镜

    js面向对象之实现淘宝放大镜

    这篇文章主要为大家详细介绍了js面向对象之实现淘宝放大镜,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • JS操作select下拉框动态变动(创建/删除/获取)

    JS操作select下拉框动态变动(创建/删除/获取)

    动态创建及删除select、添加及删除选项option、获得选项option的值、获得选项option的文本等等,感兴趣的朋友可以参考下哈
    2013-06-06
  • js实现简易弹幕系统

    js实现简易弹幕系统

    这篇文章主要为大家详细介绍了js实现简易弹幕系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 你可能不知道的JavaScript之this指向详解

    你可能不知道的JavaScript之this指向详解

    理解this之前,先纠正一个观点,this 既不指向函数自身,也不指函数的词法作用域,下面这篇文章主要给大家介绍了关于JavaScript之this指向的相关资料,需要的朋友可以参考下
    2022-05-05
  • 微信小程序顶部导航栏可滑动并选中放大

    微信小程序顶部导航栏可滑动并选中放大

    这篇文章主要介绍了微信小程序顶部导航栏可滑动并选中放大,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 小程序实现列表删除功能

    小程序实现列表删除功能

    这篇文章主要为大家详细介绍了小程序实现列表删除功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • JS原生瀑布流效果实现

    JS原生瀑布流效果实现

    这篇文章主要介绍了JS原生瀑布流效果实现 ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 功能强大的Bootstrap组件(结合js)

    功能强大的Bootstrap组件(结合js)

    这篇文章主要介绍了功能强大的Bootstrap组件,介绍js结合Bootstrap组件的使用方法,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论