如何基于js判断浏览器版本


Posted in Javascript onFebruary 20, 2020

这篇文章主要介绍了如何基于js判断浏览器版本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

浏览器类型判断

不考虑对 IE9 以下浏览器的判断

function getBrowserType(){
  var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  var browser='unknown';
  if (userAgent.indexOf("IE")!=-1) {
    browser="IE";
  }else if(userAgent.indexOf('Firefox')!=-1){
    browser="Firefox";
  }else if(userAgent.indexOf('OPR')!=-1){
    browser="Opera";
  }else if(userAgent.indexOf('Chrome')!=-1){
    browser="Chrome";
  }else if(userAgent.indexOf('Safari')!=-1){
    browser="Safari";
  }else if(userAgent.indexOf('Trident')!=-1){
    browser='IE 11';
  }
  return browser;
}

测试

如何基于js判断浏览器版本

判断IE浏览器的版本

包含edge,ie11,10,9,8,7,6,5,4

// 获取IE版本
function IEVersion() {
  // 取得浏览器的userAgent字符串
  var userAgent = navigator.userAgent;
  // 判断是否为小于IE11的浏览器
  var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1;
  // 判断是否为IE的Edge浏览器
  var isEdge = userAgent.indexOf('Edge') > -1 && !isLessIE11;
  // 判断是否为IE11浏览器
  var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1;
  if (isLessIE11) {
    var IEReg = new RegExp('MSIE (\\d+\\.\\d+);');
    // 正则表达式匹配浏览器的userAgent字符串中MSIE后的数字部分,,这一步不可省略!!!
    IEReg.test(userAgent);
    // 取正则表达式中第一个小括号里匹配到的值
    var IEVersionNum = parseFloat(RegExp['$1']);
    if (IEVersionNum === 7) {
      // IE7
      return 7
    } else if (IEVersionNum === 8) {
      // IE8
      return 8
    } else if (IEVersionNum === 9) {
      // IE9
      return 9
    } else if (IEVersionNum === 10) {
      // IE10
      return 10
    } else {
      // IE版本<7
      return 6
    }
  } else if (isEdge) {
    // edge
    return 'edge'
  } else if (isIE11) {
    // IE11
    return 11
  } else {
    // 不是ie浏览器
    return -1
  }
}

判断浏览器型号及版本号

function getBroswerAndVersion(){
  var os = navigator.platform; 
  var userAgent = navigator.userAgent; 
  var info = ""; 
  var tempArray = ""; 
  //判断浏览器版本
  var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
  var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
  var isEdge = userAgent.toLowerCase().indexOf("edge") > -1 && !isIE; //判断是否IE的Edge浏览器
  var isIE11 = (userAgent.toLowerCase().indexOf("trident") > -1 && userAgent.indexOf("rv") > -1); 

  if (/[Ff]irefox(\/\d+\.\d+)/.test(userAgent)) { 
    tempArray = /([Ff]irefox)\/(\d+\.\d+)/.exec(userAgent); 
    info += tempArray[1] + tempArray[2]; 
  } else if (isIE) { 

    var version = ""; 
    var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); 
    reIE.test(userAgent); 
    var fIEVersion = parseFloat(RegExp["$1"]); 
    if (fIEVersion == 7) 
    { version = "IE7"; } 
    else if (fIEVersion == 8) 
    { version = "IE8"; } 
    else if (fIEVersion == 9) 
    { version = "IE9"; } 
    else if (fIEVersion == 10) 
    { version = "IE10"; } 
    else 
    { version = "0" } 

    info += version; 

  } else if (isEdge) { 
    info += "Edge"; 
  } else if (isIE11) { 
    info += "IE11"; 
  } else if (/[Cc]hrome\/\d+/.test(userAgent)) { 
    tempArray = /([Cc]hrome)\/(\d+)/.exec(userAgent); 
    info += tempArray[1] + tempArray[2]; 
  } else if (/[Vv]ersion\/\d+\.\d+\.\d+(\.\d)* *[Ss]afari/.test(userAgent)) { 
    tempArray = /[Vv]ersion\/(\d+\.\d+\.\d+)(\.\d)* *([Ss]afari)/.exec(userAgent); 
    info += tempArray[3] + tempArray[1]; 
  } else if (/[Oo]pera.+[Vv]ersion\/\d+\.\d+/.test(userAgent)) { 
    tempArray = /([Oo]pera).+[Vv]ersion\/(\d+)\.\d+/.exec(userAgent); 
    info += tempArray[1] + tempArray[2]; 
  } else { 
    info += "unknown"; 
  } 
  return info;
}

低于IE9版本提醒

<!--[if lte IE 9]>
<script>
  var bro = getBroswerAndVersion();
  if(bro=="IE5" || bro=="IE6" || bro=="IE7" || bro=="IE8" ){
    alert("浏览器版本过低!请升级至IE9以上");
  }
</script>
<![endif]-->

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

Javascript 相关文章推荐
基于jQuery的实现简单的分页控件
Oct 10 Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 Javascript
分享jQuery插件的学习笔记
Jan 14 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
Jun 17 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 Javascript
基于vue 开发中出现警告问题去除方法
Jan 25 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
Mar 18 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 Javascript
vue实现点击当前标签高亮效果【推荐】
Jun 22 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
Apr 14 Javascript
详解如何理解vue的key属性
Apr 14 Javascript
Vue使用自定义指令实现拖拽行为实例分析
Jun 06 Javascript
微信小程序webSocket的使用方法
Feb 20 #Javascript
Javascript Worker子线程代码实例
Feb 20 #Javascript
vue中音频wavesurfer.js的使用方法
Feb 20 #Vue.js
Javascript原生ajax请求代码实例
Feb 20 #Javascript
webpack中的模式(mode)使用详解
Feb 20 #Javascript
jquery向后台提交数组的代码分析
Feb 20 #jQuery
koa-passport实现本地验证的方法示例
Feb 20 #Javascript
You might like
php长字符串定义方法
2012/07/12 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
javascript实现的网页局布刷新效果
2008/12/01 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
基于JQuery和DWR实现异步数据传递
2020/10/16 jQuery
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
Scrapy框架使用的基本知识
2018/10/21 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
老总助理工作岗位职责
2014/02/06 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
QQ空间主人寄语大全
2014/04/12 职场文书
媒矿安全生产承诺书
2014/05/23 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
党校学习党性分析材料
2014/12/19 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
python基础之while循环语句的使用
2021/04/20 Python