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 相关文章推荐
jquery 日期控件datepicker属性详细解析
Nov 08 Javascript
仿JQuery输写高效JSLite代码的一些技巧
Jan 13 Javascript
jQuery获取样式中颜色值的方法
Jan 29 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
Dec 22 Javascript
基于bootstrap的选择框插件icheck
Dec 23 Javascript
layui的table中显示图片方法
Aug 17 Javascript
使用Angular自定义字段校验指令的方法示例
Feb 01 Javascript
如何基于JS截获动态代码
Dec 25 Javascript
js实现百度淘宝搜索功能
Feb 17 Javascript
javascript递归函数定义和用法示例分析
Jul 22 Javascript
js属性对象的hasOwnProperty方法的使用
Feb 05 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读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
利用PHP函数计算中英文字符串长度的方法
2014/11/11 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
js运动事件函数详解
2016/10/21 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
python网络编程之读取网站根目录实例
2014/09/30 Python
Linux下编译安装MySQL-Python教程
2015/02/02 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
python修改FTP服务器上的文件名
2019/09/11 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
Python 去除字符串中指定字符串
2020/03/05 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
市场推广策划方案
2014/06/02 职场文书
环保公益策划方案
2014/08/15 职场文书
乒乓球比赛通知
2015/04/27 职场文书
律师催款函范文
2015/06/24 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS
SQL SERVER中的流程控制语句
2022/05/25 SQL Server