Javascript浏览器内核感知,非userAgent,准确率极高;

(function(){
var name, css, ver, lang, os;
var nav = navigator;
lang = nav.language || nav.userLanguage || nav.systemLanguage;
lang = lang.replace(/-[a-z]{2}/, function(match){
    return match.toUpperCase();
});
function getVer(key){
    var ver = nav.userAgent.match(new RegExp(key + "[/s]?(//d[//d//.]*//d)"));
    if(ver){
        return ver[1];
    }
}
/*@cc_on
    /*@if (@_jscript)
        css = "ms";
        name = "Trident";
        @if (@_jscript_version > 5.8)
            ver = "5.0";
        @elif (@_jscript_version == 5.8)
            ver = "4.0";
        @elif (@_jscript_version == 5.7)
            ver = "3.0";
        @elif (@_jscript_version == 5.6)
            ver = "2.0";
        @else
            ver = "1.0";
        @end
    @else @*/
        if(nav.product == "Gecko"){
            css = "Moz";
            name = "Gecko";
            ver = nav.productSub;
            if(nav.vendor){
                os = [nav.vendor, nav.vendorSub];
            }
        }else if(window.WebKitPoint){
            css = "Webkit";
            ver = getVer("WebKit") || true;
            if(window.google || window.chrome || window.chromium){
                name = "Chrome";
                ver = nav.chrome = getVer("Chromium") || getVer("Chrome") || true;
            }else{
                name = "WebKit";
                ver = nav.webkit;
            }
        }else if(window.opera){
            css = "O";
            name = "Presto";
            ver = window.opera.version();
        }
    /*@end
@*/

if(nav.platform.indexOf("Win") >= 0){
    var osVer;
    if(osVer = getVer("Windows NT")){
        if(osVer == 6.1){
            osVer = 7;
        }else if(osVer == 6){
            osVer = "Vista";
        }else if(osVer == 5.2){
            osVer = "Server 2003";
        }else if(osVer == 5.1){
            osVer = "XP";
        }else if(osVer == 5){
            osVer = "2000";
        }else if(osVer > 0){
            osVer = "NT " + osVer;
        }
    }
    osVer = osVer || getVer("Windows") || "ME";
    os = "Windows " + osVer;
}else if(nav.platform.indexOf("Mac") >= 0){
    os = "Macintosh";
}else if(nav.platform.indexOf("X11") >= 0){
    os = "Unix";
}else if(nav.platform.indexOf("Linux") >= 0){
    os = "Linux";
}

//document.cookie = "BrowserName=" + name + "; path=/";
//document.cookie = "BrowserVer=" + ver + "; path=/";

var browser = {};
nav.os = browser.os = os;
nav.name = browser.name = name;
nav.version = browser.version = ver;
name = name.toLowerCase();
nav[name] = browser[name] = ver;
browser.language = lang;
try{
    nav.language = lang;
}catch(ex){}
if(window.jQuery){
    window.jQuery.browser = browser;
}
}());

 

用法:
//当存在jQuery时自动修改jQuery.browser中的信息
alert("你使用的浏览器内核为:" + navigator.name);
alert("你使用的浏览器内核版本:" + navigator.ver);
alert("你使用的浏览器语言为:" + navigator.language);

alert("你使用的浏览器的专用CSS前缀:" + navigator.css);

alert("你使用的浏览器内核版本:" + navigator.ver);
alert("你使用的操作系统:" + navigator.os);

if(navigator.trident){
    alert("IE");
}else if(navigator.chrome){
    alert("Chrome");
}else if(navigator.gecko){
    alert("Firefox");
}else if(navigator.presto){
    alert("Opera");
}else if(navigator.webkit){
    alert("Maxthon3/Sougou/Safari");
}else {
    alert("其他");
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值