JS如何判断浏览器类型和详细区分IE各版本浏览器


Posted in Javascript onMarch 04, 2017

今天用到JS判断浏览器类型,于是就系统整理了一下,便于后期使用。

/* 
  * 描述:判断浏览器信息 
  * 编写:LittleQiang_w 
  * 日期:2016.1.5 
  * 版本:V1.1 
  */ 
 
 //判断当前浏览类型 
 function BrowserType() 
 { 
   var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 
   var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器 
   var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器 
   var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判断是否IE的Edge浏览器 
   var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器 
   var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器 
   var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1; //判断Chrome浏览器 
 
   if (isIE)  
   { 
      var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); 
      reIE.test(userAgent); 
      var fIEVersion = parseFloat(RegExp["$1"]); 
      if(fIEVersion == 7) 
      { return "IE7";} 
      else if(fIEVersion == 8) 
      { return "IE8";} 
      else if(fIEVersion == 9) 
      { return "IE9";} 
      else if(fIEVersion == 10) 
      { return "IE10";} 
      else if(fIEVersion == 11) 
      { return "IE11";} 
      else 
      { return "0"}//IE版本过低 
    }//isIE end 
     
    if (isFF) { return "FF";} 
    if (isOpera) { return "Opera";} 
    if (isSafari) { return "Safari";} 
    if (isChrome) { return "Chrome";} 
    if (isEdge) { return "Edge";} 
  }//myBrowser() end 
   
  //判断是否是IE浏览器 
  function isIE() 
  { 
   var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 
   var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器 
   if(isIE) 
   { 
     return "1"; 
   } 
   else 
   { 
     return "-1"; 
   } 
  } 
   
   
  //判断是否是IE浏览器,包括Edge浏览器 
  function IEVersion() 
  { 
   var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 
   var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器 
var isEdge = userAgent.indexOf("Windows NT 6.1; Trident/7.0;") > -1 && !isIE; //判断是否IE的Edge浏览器 
   if(isIE) 
   { 
      var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); 
      reIE.test(userAgent); 
      var fIEVersion = parseFloat(RegExp["$1"]); 
      if(fIEVersion == 7) 
      { return "IE7";} 
      else if(fIEVersion == 8) 
      { return "IE8";} 
      else if(fIEVersion == 9) 
      { return "IE9";} 
      else if(fIEVersion == 10) 
      { return "IE10";} 
      else if(fIEVersion == 11) 
      { return "IE11";} 
      else 
      { return "0"}//IE版本过低 
   } 
else if(isEdge) 
{ 
  return "Edge"; 
} 
   else 
   { 
     return "-1";//非IE 
   } 
  }

以上代码通过测试,可用!

但存在一个问题,即IE5与IE7浏览器暂不能区分,以下是IE5与IE7下userAgent的信息;通过userAgent发现,简单的通过以上方法,无法正确区分IE5和IE7。期待该问题的解决方案!!!

IE5: userAgent   "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)"

IE7: userAgent  "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript操纵Cookie实现购物车程序
Feb 15 Javascript
扩展JavaScript功能的正确方法(译文)
Apr 12 Javascript
javascript学习笔记(二) js一些基本概念
Jun 18 Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
Apr 07 Javascript
全屏js头像上传插件源码高清版
Mar 29 Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
Aug 23 Javascript
原生JS实现的轮播图功能详解
Aug 06 Javascript
vue实现分页栏效果
Jun 28 Javascript
vue实现图片上传到后台
Jun 29 Javascript
JS实现页面炫酷的时钟特效示例
Aug 14 Javascript
详解在Vue中通过自定义指令获取dom元素
Mar 04 #Javascript
在javaScript中检测数据类型的几种方式小结
Mar 04 #Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 #Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
Mar 04 #Javascript
php输出全部gb2312编码内的汉字方法
Mar 04 #Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
Mar 04 #Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
Mar 04 #Javascript
You might like
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
event.srcElement 用法笔记e.target
2009/12/18 Javascript
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
javascript实现移动端红包雨页面
2020/06/23 Javascript
Python实现抓取网页并且解析的实例
2014/09/20 Python
python搜索指定目录的方法
2015/04/29 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
Python如何定义接口和抽象类
2020/07/28 Python
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
4s客服专员岗位职责
2013/12/01 职场文书
总会计师岗位职责
2014/02/19 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
党员志愿者活动总结
2014/06/26 职场文书
七年级地理教学计划
2015/01/22 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
2015年库房工作总结
2015/04/30 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
高中优秀作文(范文)
2019/08/15 职场文书