浏览器版本号检测

本文检测部分来自于Missyouzhang的专栏
浏览器的navigator.userAgent来自于网络
完整的用户代理字符串检测脚本来自于高程3P242

浏览器的navigator.userAgent

桌面============================================IE而IE各个版本典型的userAgent如下:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)其中,版本号是MSIE之后的数字。注:
MSIE后面跟的数字为IE的版本号,如MSIE 8.0代表IE8, Windows NT 6.1 对应操作系统 windows 7
Windows NT 6.0 对应操作系统 windows vista  
Windows NT 5.2 对应操作系统 windows 2003   
Windows NT 5.1 对应操作系统 windows xp   
Windows NT 5.0 对应操作系统 windows 2000   UNIX/LINUX下的为X11代替,具体可以从网上找下,百度百科上也有的。FirefoxFirefox几个版本的userAgent大致如下:Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12  其中,版本号是Firefox之后的数字。
注:N: 表示无安全加密   I: 表示弱安全加密   U: 表示强安全加密     上面的U代表加密等级
OperaOpera典型的userAgent如下:Opera/9.27 (Windows NT 5.2; U; zh-cn)Opera/8.0 (Macintosh; PPC Mac OS X; U; en)Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0 其中,版本号是靠近Opera的数字。SafariSafari典型的userAgent如下:Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3其版本号是Version之后的数字。Chrome目前,Chrome的userAgent是:
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13 其中,版本号在Chrome之后的数字。Navigator
目前,Navigator的userAgent是:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6
其中,版本号在Navigator之后的数字。360SE                                                                                                                                                                  Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; 360SE)360[USER_AGENT] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; 360SE)360极速浏览器[USER_AGENT] => Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ;  QIHU 360EE)傲游浏览器[USER_AGENT] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Maxthon/3.0)TT[USER_AGENT] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; TencentTraveler 4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )safari[USER_AGENT] => Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.5 Safari/534.55.3==============================移动==============================安卓 QQ浏览器Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; M032 Build/IML74K) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/4.1 Mobile Safari/533.1安卓 原生浏览器Mozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; M032 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30安卓 UCMozilla/5.0 (Linux; U; Android 4.0.3; zh-cn; M032 Build/IML74K) UC AppleWebKit/534.31 (KHTML, like Gecko) Mobile Safari/534.31安卓 OperaOpera/9.80 (Android 4.0.3; Linux; Opera Mobi/ADR-1210241554) Presto/2.11.355 Version/12.10三星手机SAMSUNG-SGH-G508E/G508EZCIG2 SHP/VPP/R5 NetFront/3.4 Qtv5.3 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1iphone safriaMozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3iphone QQMQQBrowser/38 (iOS 4; U; CPU like Mac OS X; zh-cn)iphone UCIUC(U;iOS 5.1.1;Zh-cn;320*480;)/UCWEB8.9.1.271/42/800塞班 自带浏览器Nokia5320/04.13 (SymbianOS/9.3; U; Series60/3.2 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413塞班 QQ浏览器Nokia5320(19.01)/SymbianOS/9.1 Series60/3.0

检测

JQ判断浏览器

通过jQuery 判断浏览器的内核及版本号

<script type="text/javascript">$(function () {if ($.browser.msie && ($.browser.version == "7.0")) {$("#yourannet").css("margin-left", "10px");}  //IE7浏览器else if ($.browser.msie && ($.browser.version == "6.0") && !$.support.style) {$("#yourannet").css("margin-left", "15px");}  //IE6浏览器else if ($.browser.msie && ($.browser.version == "8.0")) {$("#yourannet").css("margin-left", "20px");}  //IE8浏览器else if ($.browser.msie && ($.browser.version == "9.0")) {$("#yourannet").css("margin-left", "25px");} // IE9 浏览器else if (window.navigator.userAgent.toLowerCase().indexOf("360se") >= 1) {$("#yourannet").css("margin-left", "30px");}//360浏览器})

jQuery 使用的是通过正则来匹配userAgent判断浏览器的种类和版本. 如果我们要来判断当前浏览器是否是IE6应该如何来判断?

$(function() {if($.browser.msie) {alert("this is msie");
}
else if($.browser.safari)
{alert("this is safari!");
}
else if($.browser.mozilla)
{alert("this is mozilla!");
}
else if($.browser.opera) {alert("this is opera");
}
else {alert("i don't konw!");
}

以下是jquery的正则表达式:支持区分ie、firefox、opera、chrome、safari

// browser check-----startvar userAgent = navigator.userAgent, // userAgentrMsie = /.*(msie) ([\w.]+).*/, // ierFirefox = /.*(firefox)\/([\w.]+).*/, // firefoxrOpera = /(opera).+version\/([\w.]+)/, // operarChrome = /.*(chrome)\/([\w.]+).*/, // chromerSafari = /.*version\/([\w.]+).*(safari).*/;// safarijMeteor.browser = {};var ua = userAgent.toLowerCase();function uaMatch(ua) {var match = rMsie.exec(ua);if (match != null) {return { browser : match[1] ¦¦ "", version : match[2] ¦¦ "0" };}var match = rFirefox.exec(ua);if (match != null) {return { browser : match[1] ¦¦ "", version : match[2] ¦¦ "0" };}var match = rOpera.exec(ua);if (match != null) {return { browser : match[1] ¦¦ "", version : match[2] ¦¦ "0" };}var match = rChrome.exec(ua);if (match != null) {return { browser : match[1] ¦¦ "", version : match[2] ¦¦ "0" };}var match = rSafari.exec(ua);if (match != null) {return { browser : match[2] ¦¦ "", version : match[1] ¦¦ "0" };}if (match != null) {return { browser : "", version : "0" };}}var browserMatch = uaMatch(userAgent.toLowerCase());if (browserMatch.browser) {jMeteor.browser[browserMatch.browser] = true;jMeteor.browserName = browserMatch.browser;jMeteor.browser.version = browserMatch.version;jMeteor.browser.language = (navigator.language ? navigator.language: navigator.userLanguage ¦¦ "");}// browser check-----end使用方法:Javascript代码jMeteor.browser.msie //判断是否为ie,返回true则代表是jMeteor.browserName //浏览器名称jMeteor.browser.version //浏览器版本jMeteor.browser.language //语言
</script>

通过浏览器版本信息判断各浏览器

var _uat=navigator.userAgent;
if(_uat.indexOf("MSIE 6.0")>0) alert("ie6");
else if(_uat.indexOf("MSIE 7.0")>0) alert("ie7");
else if(_uat.indexOf("MSIE 8.0")>0) alert("ie8");
else if(_uat.indexOf("Firefox")>0) alert("firefox"); 

CSS判断浏览器

#example{color:red ;} /*firefox*/
* html #example{color:blue;} /*ie6*/
*+html #example{color:green;} /*ie7*/

HTML判断浏览器

<!--[if !IE]><!-->除IE外都可识别<!--<![endif]-->
<!--[if IE]> 所有的IE可识别<![endif]-->
<!--[if IE 6]> 仅IE6可识别<![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可识别<![endif]-->
<!--[if gte IE 6]> IE6以及IE6以上版本可识别<![endif]-->
<!--[if IE 7]> 仅IE7可识别<![endif]-->
<!--[if lt IE 7]> IE7以及IE7以下版本可识别<![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可识别<![endif]--> 

完整的用户代理字符串检测脚本

来自于高程3p242

//完整的用户代理字符串检测脚本
var client = function () {//呈现引擎var engine = {ie: 0,gecko: 0,webkit: 0,khtml: 0,opera: 0,//完整的版本号ver: null};//浏览器var browser = {//主要浏览器ie: 0,firefox: 0,safari: 0,konq: 0,opera: 0,chrome: 0,//具体的版本号ver: null};//平台,设备的操作系统var system = {win: false,mac: false,xll: false,//移动设备iphone: false,ipod: false,ipad: false,ios: false,android: false,nokiaN: false,winMobile: false,//游戏系统will: false,ps: false};//检测呈现引擎和浏览器var ua = navigator.userAgent;if (window.opera) {engine.ver = browser.ver = window.opera.version();engine.opera = browser.opera = parseFloat(engine.ver);} else if (/AppleWebKit\/(\S+)/.test(ua)) {engine.ver = RegExp.$1;engine.webkit = parseFloat(engine.ver);//确定是chrome还是Safariif (/Chrome\/(\S+)/.test(ua)) {browser.ver = RegExp.$1;browser.chrome = parseFloat(browser.ver);} else {//近似地确定版本号var safariVersion = 1;if (engine.webkit < 100) {safariVersion = 1;} else if (engine.webkit < 312) {safariVersion = 1.2;}else if (engine.webkit < 412) {safariVersion = 1.3;}else {safariVersion = 2;}browser.safari = browser.ver = safariVersion;}} else if (/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)) {engine.ver = browser.ver = RegExp.$1;engine.khtml = browser.konq = parseFloat(engine.ver);} else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)) {engine.ver = RegExp.$1;engine.gecko = parseFloat(engine.ver);//确定是不是firefoxif (/Firefox\/(\S+)/.test(ua)) {browser.ver = RegExp.$1;browser.firefox = parseFloat(browser.ver);}} else if (/MSIE ([^;]+)/.test(ua)) {engine.ver = browser.ver = RegExp.$1;engine.ie = browser.ie = parseFloat(engine.ver);}
//检测浏览器browser.ie = engine.ie;browser.opera = engine.opera;//检测平台var p = navigator.platform;system.win = p.indexOf("Win") == 0;system.mac = p.indexOf("Mac") == 0;system.xll = (p == "Xll") || (p.indexOf("Linux") == 0);//检测Windows操作系统if (system.win) {if (/Win(?:dows)?([^do]{2})\s?(\d+\.\d+)?/.test(ua)) {if (RegExp.$1 == "NT") {switch (RegExp.$2) {case "5.0":system.win = "2000";break;case "5.1":system.win = "XP";break;case "6.0":system.win = "Vista";break;case "6.1":system.win = "7";break;default :system.win = "NT";break;}} else if (RegExp.$1 == "9x") {system.win = "ME";} else {system.win = RegExp.$1;}}}//移动设备system.iphone = ua.indexOf("iPhone") > -1;system.ipod = ua.indexOf("iPod") > -1;system.ipad = ua.indexOf("iPad") > -1;system.nokiaN = ua.indexOf("NokiaN") > -1;//windos mobileif (system.win == "CE") {system.winMobile = system.win;} else if (system.win == "Ph") {if (/Windows Phone OS (\d+. \d)/.test(ua)) {system.win = "Phone";system.winMobile = parseFloat(RegExp.$1);}}
//检测iOS 版本if (system.mac && ua.indexOf("Mobile") > -1) {if (/CPU (?:iPhone )?OS (\d+_\d+)/.test(ua)) {system.ios = parseFloat(RegExp.$1.replace("_", "."));} else {system.ios = 2;//不能真正检测出来,所以只能猜测}}//检测Android版本if (/Android (\d+\. \d+)/.test(ua)) {system.android = parseFloat(RegExp.$1);}//游戏系统system.will = ua.indexOf("Wii") > -1;system.ps = /playstation/i.test(ua);//返回这些对象return{engine:engine,browser:browser,system:system};}();

转载于:https://www.cnblogs.com/changzhenan/p/7193638.html

检测浏览器版本(综合整理)相关推荐

  1. 检测浏览器版本并升级jQuery插件

    2019独角兽企业重金招聘Python工程师标准>>> 前言 因为项目使用的是angular.js1.4,但从1.2开始angular对IE9以下的内核不再支持了.而国内还有需要用户 ...

  2. 计算机二级加拼音,计算机二级C语言上机题库超强拼音检索快速找到(多个版本,综合整理,十分强大)最好配合第二套一起使用...

    每道题冒号后面的第一个字,若没有冒号则为一个字.如:抽到第三套卷子,每道题后冒号的第一个字为"逆将函"查最后一张表为3,就直接找到第三道题写答案就行!!!两套一起使用!!! 第一套 ...

  3. 浏览器差异总结,可以用此判断浏览器版本(转)

    总结一下浏览器间的差异如下: 1.safari下,typeof nodeList的类型为function 2.在大多数游览器中checkbox的value默认为on,唯有chrome返回空字符串 3. ...

  4. jquery检测浏览器类型

    使用jquery如下代码检测浏览器版本时:出问题,在检测IE浏览器,如果版本是IE11时,会出现 $.browser.msie的返回值是false,$.browser.mozilla的返回值是true ...

  5. JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。...

    Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本. 对象属性: 查看浏览器的名称和版本,代码如下: <script type=" ...

  6. javascript检测浏览器是否需要升级版本和提示

    以vue3+elementPlus为例,可能涉及低版本浏览器的检测和提示 1.获取浏览器版本Func function getBrowserVersion(browserType, UserAgent ...

  7. 如何查看IE浏览器版本?在线检测IE版本号

    虽然IE浏览器在全球使用率是最高的,但是仍然有部分用户并不知道IE浏览器是什么?所以对于自己使用的桌面上那个 e 图标的软件也不知道是什么版本的.当然,大部分情况我们也没有必要去知道自己使用的IE浏览 ...

  8. js检测浏览器类型以及版本信息

    js检测浏览器类型以及版本信息 DetectBrowser () {const userAgent = window.navigator.userAgentconst isChrome = userA ...

  9. vue项目检测IE浏览器版本,版本太低给出提示

    在index.html 文件的header标签内加入: <script type="text/javascript">(function(window) {var th ...

最新文章

  1. Win8 Metro(C#)数字图像处理--2.69中点滤波器
  2. cx_Freeze脚本实现--Python使用cx_Freeze编译可执行文件(exe,mac)
  3. druid ssh加密 java mysql_springboot 整合druid数据库密码加密功能的实现代码
  4. OpenCV基于LeNet-5和连接组件分析的数字识别的实例(附完整代码)
  5. SpringBoot学习笔记(16):单元测试
  6. 抖音只能上下滑动吗_抖音:如何靠评论,轻松涨粉十万
  7. selenium headless报错Message: unknown error: failed to wait for extension background page to load
  8. webpack 报错 No PostCSS Config found 解决方案。
  9. 基于堆叠卷积长短期神经网络【CNNLSTM】模型的时序数据预测分析
  10. 关于.NET、ASP.NET和ASP
  11. 计算机硕士工资一览表 08年最新各大IT公司薪水行
  12. win7建WLAN热点
  13. uni-app H5中使用wx-open-launch-weapp打开微信小程序
  14. html 在线播放器,HTML5 Web播放器-Video.js
  15. 危险漫步_有关2010年糖尿病漫步的详细信息和感谢
  16. SPSS Modeler 项目实战之超市商品购买关联分析
  17. 【xml 报错】xml编译错误
  18. PHP 在网页中的运用
  19. 电池极耳尺寸视觉检测系统
  20. 每日 30 秒 ⏱ 漫游器法则

热门文章

  1. 360安卓_数据 | TalkingData:360手机助手份额32.27%居第一
  2. ibm x86 服务器 系列,IBM至强5600全系列服务器横向对比
  3. ubbuntu下闪讯登陆方法
  4. python用opencv实现图片的美白磨皮_opencv----人脸美白算法,祛斑,祛痘,磨皮等...
  5. Adobenbsp;Kuler
  6. matlab仿真没有synchr,Synchro 7怎么进行仿真?Synchro界面图标介绍
  7. SRV记录的说明及使用
  8. 22调剂|兰州理工大学MBA/MIB预调剂申请通知-文都管联院
  9. 【开源】电子围栏-测距离-测面积-拉框放大-实时路况-逆地理编码的实现
  10. 一个完整的产品专题页面策划思路是什么样子?