Javascript浏览器内核感知,非userAgent,准确率极高;
(function(){var name, css, ver, lang, os;var nav = navigator;lang = nav.language || nav.userLanguage || nav.systemLanguage;var t = /-[a-z]{2}/;if(t.test(lang)){ lang = lang.replace(t, lang.match(t)
(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)