用JavaScript判断当前用户使用的浏览器类型和版本

navigator.userAgent.toLowerCase()

  • navigator是Browser内置对象

  • userAgent是navigator的属性方法,可以返回客户机发送服务器的头部信息。作用是返回当前用户所使用的什么浏览器

  • toLowerCase()转换为小写

      let sysObj = {};
      let browserInfo = navigator.userAgent.toLowerCase();
      let vsMsg;
    
      (vsMsg = browserInfo.match(/msie ([\d.]+)/)) ? sysObj.ie = vsMsg[1]:
          (vsMsg = browserInfo.match(/firefox\/([\d.]+)/)) ? sysObj.firefox = vsMsg[1] :
          (vsMsg = browserInfo.match(/chrome\/([\d.]+)/)) ? sysObj.chrome = vsMsg[1] :
          (vsMsg = browserInfo.match(/opera.([\d.]+)/)) ? sysObj.opera = vsMsg[1] :
          (vsMsg = browserInfo.match(/version\/([\d.]+).*safari/)) ? sysObj.safari = vsMsg[1] : 0;
    
      if (sysObj.ie) {
          console.log('IE: ' + sysObj.ie)
      }
      if (sysObj.firefox) {
          console.log('Firefox: ' + sysObj.firefox)
      }
      if (sysObj.chrome) {
          console.log('Chrome: ' + sysObj.chrome)
      }
      if (sysObj.opera) {
          console.log('Opera: ' + sysObj.opera)
      };
      if (sysObj.safari) {
          console.log('Safari: ' + sysObj.safari)
      }

    match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

上面是对这个方法是JavaScript判断浏览器以及浏览器版本
截图效果

  • 使用Chrome浏览器打开 

  • 使用Safari浏览器打开

 

看来是没有问题的,也就不一一测试了。

将上面的代码封装成一个方法,返回sysObj对象,在此对象中封装了浏览器的类型和版本信息

    function getBrowserInfo() {
        let sysObj = {};
        let browserInfo = navigator.userAgent.toLowerCase();
        let regular = /(msie|firefox|chrome|opera|version).*?([\d.]+)/;
        let vsMsg = browserInfo.match(regular);
        sysObj.browserName = vsMsg[1].replace(/version/, "'safari");
        sysObj.versionInfo = vsMsg[2];
        return sysObj;
    }
    let browserInfo = getBrowserInfo();
    console.log(browserInfo.browserName + "的版本是:" + browserInfo.versionInfo)

 这个只是区分pc端的浏览器,移动端不适用,而且移动端除了安卓和苹果外还有一些App内置的浏览器,比如新浪微博、腾讯QQ(非QQ浏览器)和微信

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值