浏览器怎么显示javascript页面(JavaScript如何通过userAgent判断几个常用浏览器详解)
浏览器怎么显示javascript页面
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
- 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
- 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判断浏览器内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- console.table调试JSON对象或字符串
- php抽奖功能(php+lottery.js实现九宫格抽奖功能)
- js图片水印库(js给图片打马赛克的方法示例)
- extjs XTemplate的实例
- jquery遍历json字符串
- python提取json数据(Python爬取数据保存为Json格式的代码示例)
- js搜索功能的实现(前端JavaScript实现本地模糊搜索功能的方法实例)
- js时间变成日期格式(js日期时间格式化的方法实例)
- python操作json格式(详解python 3.6 安装json 模块simplejson)
- js三级联动列表(基于JavaScript实现年月日三级联动)
- react组件分析(react-diagram 序列化Json解读案例分析)
- jspromise原理(JavaScript使用promise处理多重复请求)
- js和css哪个重要(js与css的阻塞问题详析)
- js如何生成随机数
- js中字符串拼接
- js使用canvas(JavaScript canvas实现七彩时钟效果)
- 《金陵秘事》的剧情跌宕起伏 给观众带来的怎样的感官体验(金陵秘事的剧情跌宕起伏)
- 少儿口才表达影响未来一生,50首经典绕口令和孩子玩出聪明大脑(少儿口才表达影响未来一生)
- 玩网游居然让人更友善 很难以让人置信(玩网游居然让人更友善)
- 学好汉语拼音,从娃娃绕口令抓起,平时还是要多练 收藏好(从娃娃绕口令抓起)
- 仙女们的私藏鲜法大PK 鲜香切块牛肉(仙女们的私藏鲜法大PK)
- 天热没胃口 这道菜开胃又下饭,2个小技巧新手一学就会(这道菜开胃又下饭)
热门推荐
- thinkphp5怎么设置当前的模块(thinkPHP5.1框架中Request类四种调用方式示例)
- laravel初始化(Laravel 登录后清空COOKIE的操作方法)
- springboot docker教程(在Idea中使用Docker部署SpringBoot项目的详细步骤)
- vue怎么注册公共组件(解读Vue组件注册方式)
- mysqlint后面的4是什么意思(MySQL中intn后面的n到底代表的是什么意思)
- php队列的用法实例(PHP实现一个限制实例化次数的类示例)
- linux下date用法(Linux date命令的使用)
- C#匿名类
- mysql字符串默认长度(MySQL 字符类型大小写敏感)
- 后端ui框架排名(前后端结合实现amazeUI分页效果)