js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了

function isIE() { //ie?
if(!!window.ActiveXObject || "ActiveXObject"in window)
returntrue;
else
returnfalse;
}


第一种,只区分浏览器,不考虑版本 

function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串

    var isOpera = userAgent.indexOf("Opera") > -1;

    if (isOpera) {

        return "Opera"

    }; //判断是否Opera浏览器

    if (userAgent.indexOf("Firefox") > -1) {

        return "FF";

    } //判断是否Firefox浏览器

    if (userAgent.indexOf("Chrome") > -1){

  return "Chrome";

 }

    if (userAgent.indexOf("Safari") > -1) {

        return "Safari";

    } //判断是否Safari浏览器

    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {

        return "IE";

    }; //判断是否IE浏览器

}
//以下是调用上面的函数

var mb = myBrowser();

if ("IE" == mb) {

    alert("我是 IE");

}

if ("FF" == mb) {

    alert("我是 Firefox");

}

if ("Chrome" == mb) {

    alert("我是 Chrome");

}

if ("Opera" == mb) {

    alert("我是 Opera");

}

if ("Safari" == mb) {

    alert("我是 Safari");
}

第二种,区分浏览器,并考虑IE5.5 6 7 8
function myBrowser(){

    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 isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器

    var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器

    if (isIE) {

        var IE5 = IE55 = IE6 = IE7 = IE8 = false;

        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");

        reIE.test(userAgent);

        var fIEVersion = parseFloat(RegExp["$1"]);

        IE55 = fIEVersion == 5.5;

        IE6 = fIEVersion == 6.0;

        IE7 = fIEVersion == 7.0;

        IE8 = fIEVersion == 8.0;

        if (IE55) {

            return "IE55";

        }

        if (IE6) {

            return "IE6";

        }

        if (IE7) {

            return "IE7";

        }

        if (IE8) {

            return "IE8";

        }

    }//isIE end

    if (isFF) {

        return "FF";

    }

    if (isOpera) {

        return "Opera";

    }

}//myBrowser() end

//以下是调用上面的函数

if (myBrowser() == "FF") {

    alert("我是 Firefox");

}

if (myBrowser() == "Opera") {

    alert("我是 Opera");

}

if (myBrowser() == "Safari") {

    alert("我是 Safari");

}

if (myBrowser() == "IE55") {

    alert("我是 IE5.5");

}

if (myBrowser() == "IE6") {

    alert("我是 IE6");

}

if (myBrowser() == "IE7") {

    alert("我是 IE7");

}

if (myBrowser() == "IE8") {

    alert("我是 IE8");

}



下面给出一个判断当前浏览器是IE的JS代码.

原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。

<script>

var ie = !-[1,]; 

alert(ie); 

</script>




  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值