js判断浏览器及终端

4 篇文章 0 订阅
4 篇文章 0 订阅

判断浏览器

  1. 判断浏览器时我们需要用到navigator.userAgent
    navigator是一个对象,他包含了有关浏览器的信息
    userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。
    例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)
    完整的代码为
    var explorer = navigator.userAgent;
        //ie 
        if (explorer.indexOf("MSIE") >= 0) {
            alert("browser is :ie");
        }
        //firefox 
        else if (explorer.indexOf("Firefox") >= 0) {
            alert("browser is :Firefox");
        }
        //Chrome
        else if (explorer.indexOf("Chrome") >= 0) {
            alert("browser is :Chrome");
        }
        //Opera
        else if (explorer.indexOf("Opera") >= 0) {
            alert("Opera");
            alert("browser is :ie");
        }
        //Safari
        else if (explorer.indexOf("Safari") >= 0) {
            alert("browser is :Safari");
        }
        //Netscape
        else if (explorer.indexOf("Netscape") >= 0) {
            alert("browser is :Netscape");
        }
        //判断是否IE浏览器
        else if (explorer.indexOf("compatible") > -1 && explorer.indexOf("MSIE") > -1) {
            alert("browser is :IE");
        }
        //判断是否Edge浏览器
        else if (explorer.indexOf("Trident") > -1) {
            alert("browser is :Edge");
        };
    
    注意IE11已经没有MSIE这个值了,所以需要特殊处理一下
    var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
    
    Trident是浏览器的内核,该内核常见的浏览器有IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);360安全浏览器(1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink)猎豹极轻浏览器360极速浏览器。其中IE11会有个rv:11.0的值,以此来辨别IE11

判断ie为某个版本

在IE11以下的浏览器中使用navigator.userAgent会得到这样的结果
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)
其中的MSIE后面跟的数字 就是IE浏览器的版本号,例如:
IE8
在这里插入图片描述
IE9
在这里插入图片描述
具体完整的鉴别IE各个版本的操作代码为

function ifie(){
      var userAgent = navigator.userAgent;
      var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1;
      var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
       if(isIE) {
           var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
           reIE.test(userAgent);
           var fIEVersion = parseFloat(RegExp["$1"]);
           if(fIEVersion == 7) {
               return 7
           }else if(fIEVersion == 8) {
               return 8
           }else if(fIEVersion == 9) {
               return 9
           }else if(fIEVersion == 10) {
               return 10
           }
       } else if(isIE11){
           return 11
       }
    }

鉴别PC及移动端

还是利用navigator.userAgent来获取信息 当客户端是苹果的时候,会有iPhone的字段在这里插入图片描述

如果是安卓的话,会有android的字段
在这里插入图片描述
从中也可以获取某个系统的版本如下图
为安卓5.0版本

完整的判断代码为

function ispc() {
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone","SymbianOS", "Windows Phone", "iPod"];
    var flag = true;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = false;
            break;
        }
    }
    if(window.screen.width>=768){
        flag = true;
    }
    return flag;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值