使用userAgent区分浏览器版本
先附上部分浏览器的userAgent
火狐: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0
谷歌: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
Opera: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 OPR/46.0.2597.57
Opera/9.27 (Windows NT 5.2; U; zh-cn)Edge: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063
IE 11: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; InfoPath.3; rv:11.0) like Gecko
- IE 10: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
- IE 9.0: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;
- IE 8.0: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
- IE 7.0: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
- IE 6.0: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
- IE 5.0: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
大概了解一下
操作系统标识
渲染引擎
显示浏览器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式为:渲染引擎/版本信息
判断浏览器类型
通过匹配userAgent中的字段来判断浏览器类型
//取得浏览器的userAgent字符串
var userAgent = navigator.userAgent;
//判断是否Opera浏览器
var isOpera = userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR");
//判断是否Edge浏览器
var isEdge = userAgent.indexOf("Edge") > -1;
//判断是否Firefox浏览器
var isFF = userAgent.indexOf("Firefox") > -1;
//判断是否Safari浏览器
var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1;
//判断Chrome浏览器
var isChrome = userAgent.indexOf("Chrome") > -1 && !isEdge && !isOpera;
//判断是否IE浏览器
var isIE = userAgent.indexOf("MSIE") || userAgent.indexOf("Trident");
封装成js方法,这里通过顺序避免了一些重复判断
//判断浏览器类型
function getBrowserType() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串if (userAgent.indexOf("Firefox") > -1) {return "Firefox";} else if (userAgent.indexOf("Edge") > -1) {return "Edge";} else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {return "Opera";} else if (userAgent.indexOf("Chrome") > -1) {return "Chrome";} else if (userAgent.indexOf("Safari") > -1) {return "Safari";} else if (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("Trident") > -1) {return "IE";}
}
判断浏览器类型和版本
浏览器版本通过正则匹配获取
以火狐浏览器为例
//获取浏览器及版本,match()方法返回的为数组,此处为["Firefox/54.0"]
var browser = userAgent.match(/firefox\/[\d.]+/gi);
//获取主版本数值
var version = browser[0].match(/[\d]+/)[0];
return "Firefox "+version; //Firefox 54
整合成JS方法
//判断浏览器类型和版本
function getBrowserVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串if (userAgent.indexOf("Firefox") > -1) {var version = userAgent.match(/firefox\/[\d.]+/gi)[0].match(/[\d]+/)[0];return "Firefox "+version;} else if (userAgent.indexOf("Edge") > -1) {var version = userAgent.match(/edge\/[\d.]+/gi)[0].match(/[\d]+/)[0];return "Edge "+version;} else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {if (userAgent.indexOf("Opera") > -1) {var version = userAgent.match(/opera\/[\d.]+/gi)[0].match(/[\d]+/)[0];return "Opera "+version;}if (userAgent.indexOf("OPR") > -1) {var version = userAgent.match(/opr\/[\d.]+/gi)[0].match(/[\d]+/)[0];return "Opera "+version;}} else if (userAgent.indexOf("Chrome") > -1) {var version = userAgent.match(/chrome\/[\d.]+/gi)[0].match(/[\d]+/)[0];return "Chrome "+version;} else if (userAgent.indexOf("Safari") > -1) {var version = userAgent.match(/safari\/[\d.]+/gi)[0].match(/[\d]+/)[0];return "Safari "+version;} else if (userAgent.indexOf("MSIE") > -1 || userAgent.indexOf("Trident") > -1) {if (userAgent.indexOf("MSIE") > -1) {var version = userAgent.match(/msie [\d.]+/gi)[0].match(/[\d]+/)[0];return "IE "+version;}if (userAgent.indexOf("Trident") > -1) {var versionTrident = userAgent.match(/trident\/[\d.]+/gi)[0].match(/[\d]+/)[0];var version = parseInt(versionTrident) + 4;return "IE "+version;}}
}
JS中正则表达式用/代替引号,/[\d]+/即为由大于0个数字组成,gi是全局检查,忽略大小写。
使用userAgent区分浏览器版本相关推荐
- 根据user-agent 区分浏览器
使用各种浏览器扫描这个url 根据user-agent 区分各种浏览器 (1)微信 'HTTP_USER_AGENT' => string 'Mozilla/5.0 (Linux; Andro ...
- 根据userAgent获取浏览器/操作系统/设备类型等信息
文章目录 根据userAgent获取浏览器/操作系统/设备类型等信息 一.背景 二.效果展示 Android:userAgent解析出来的信息 ios:userAgent解析出来的信息 windows ...
- 区分浏览器,判断浏览器版本
1.用JS判断浏览器是否是IE9以下,处理可能遇到的兼容性问题,或者给出浏览器版本过低的升级提醒. if(navigator.appName == "Microsoft Internet ...
- JS 判断浏览器版本
JS 判断浏览器版本 1.JS 区分各个浏览器(方法一) var browser={versions:function(){var u = navigator.userAgent, app = nav ...
- 检测浏览器版本(综合整理)
浏览器版本号检测 本文检测部分来自于Missyouzhang的专栏 浏览器的navigator.userAgent来自于网络 完整的用户代理字符串检测脚本来自于高程3P242 浏览器的navigato ...
- 原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari(亲测可用)
浏览器类型及版本判断在开发中是比较常见的使用场景,之前用var ua = navigator.userAgent.toLowerCase()来判断浏览器的内核,发现chrome和edge浏览器无法区分 ...
- .NET 获取客户端的操作系统版本、浏览器版本和IP地址
我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...
- 通过浏览器navigator判断浏览器版本或者手机类型判断微信访问
javascript 的navigator属性,不常用,但是用处也不少,主要用处是在做浏览器兼容的问题的时候,现在有的网站已经不兼容IE6,用户假如用IE6浏览网页的话,会提示浏览器升级等信息.或者判 ...
- JavaScript 技术篇-js代码获取当前操作系统信息、浏览器版本信息实例演示,windows NT版本对照表
> navigator.userAgent < "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHT ...
最新文章
- 【每日一算法】最常见的单词
- InvisionApp学习
- nssl1458-HR 的疑惑【枚举】
- Apache Cassandra和Java入门(第二部分)
- 详解WINCE的控制面板
- Github PageHelper 原理解析
- 高颜值可定制在线绘图工具
- 无心剑中译罗素《此生何求?》
- 071 time模块
- 【新书推荐】【2021】基于多源信息融合的航天器自主导航技术
- python 拼接 遥感影像_Python干货 | 遥感影像拼接
- ubuntu桌面进不去的解决办法
- 导入com.google.android.maps.jar安装包问题
- 使用 axios 发送 http 请求
- String字符串转Date日期
- 一键复制 html,最简单js代码实现一键复制文字
- Markdown取消超链接的下划线
- 深度学习训练遇到的坑(一)
- 微软商店Microsoft Store下载安装找这个
- 酷开系统让父母的老年生活也开始智能化
热门文章
- 知数堂MySQL DBA在线培训第八期招生中
- JS+asp.net在线裁剪图片源码
- unity学习之动画状态切换后角色沉入地面里面
- vs2019编译错误:LINK : fatal error LNK1104: 无法打开文件“atls.lib”
- 服务器开发——定时器
- 硬核拆台!宏彦获水,一脸懵逼:百度李彦宏遭当众泼水,一开始肇事者就在全程直播!!
- tcp服务器修改端口号,RAKsmart服务器:Windows修改远程端口号的图文教程
- 计算机office用的是哪个版本,小编教你看office是哪个版本_查看office是哪个版本的方法...
- python如何把矩阵转换为图片_如何将numpy数组转换为(并显示)图片
- [复变函数]第24堂课 6.3 辐角原理