js 获取浏览器IE、FF、Chrome、Opera、Safari

个人认为:在判断浏览器时用if(){..} else if(){....}可读性要高些,采用赋值方式,代码看起要简洁些,但可读性方面可能稍差些.

/*

**isVersionNumOrType:true(获取浏览器的类型+版本号) false(获取浏览器的类型)

/*  

 getBrowseInfo:function(isVerNumOrType){
        var bVersionNum = "";
        var ua = navigator.userAgent.toLowerCase();
         //通过判断每种浏览器的特定属性在效率上会高些  firefox新版本14.0.0.1使用getBoxObjectFor 来判断无效,所以使用IndexOf()来获取firefox类型
        if(window.ActiveXObject ){

            bVersionNum = "IE "+ua.match(/msie ([\d.]+)/)[1];

        }
        if(ua.indexOf('firefox')>-1 ){

            bVersionNum = "Firefox "+ua.match(/firefox\/([\d.]+)/)[1] ; }
        if(window.MessageEvent && !document.getBoxObjectFor && ua.indexOf('chrome')>-1 ){

            bVersionNum = "Chrome "+ua.match(/chrome\/([\d.]+)/)[1] ;

        }
        if(window.opera ){

            bVersionNum = "Opera "+ua.match(/opera.([\d.]+)/)[1] ;

        }
        if(window.openDatabase ){

            bVersionNum = "Safari "+ua.match(/version\/([\d.]+)/)[1] ;

         }
        
        return isVersionNumOrType ? bVersionNum:bVersionNum.replace(/([\d.]+)/,"");
    }

/*

**isVersionNumOrType:true(获取浏览器的类型+版本号) false(获取浏览器的类型)

/*  

 getBrowseInfo:function(isVerNumOrType){
        var bVersionNum = "";
        var ua = navigator.userAgent.toLowerCase();
        //通过判断每种浏览器的特定属性在效率上会高些  firefox新版本14.0.0.1使用getBoxObjectFor 来判断无效,所以使用IndexOf()来获取firefox类型
        window.ActiveXObject ? bVersionNum = "IE "+ua.match(/msie ([\d.]+)/)[1] :
        ua.indexOf('firefox')>-1 ? bVersionNum = "Firefox "+ua.match(/firefox\/([\d.]+)/)[1] :
        window.MessageEvent && !document.getBoxObjectFor && ua.indexOf('chrome')>-1 ? bVersionNum = "Chrome "+ua.match(/chrome\/([\d.]+)/)[1] :
        window.opera ? bVersionNum = "Opera "+ua.match(/opera.([\d.]+)/)[1] :
        window.openDatabase ? bVersionNum = "Safari "+ua.match(/version\/([\d.]+)/)[1] : 0;
               
        return isVersionNumOrType ? bVersionNum:bVersionNum.replace(/([\d.]+)/,"");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值