windows7操作系统
IE8:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; Tablet PC 2.0; InfoPath.2)
firefox 32.0.3:
Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0
Google Chrome 版本 37.0.2062.124 m:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
360 6.3.1.196:
Opera 24.0 24.0.1558.64 - Opera 为最新版本:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.122 Safari/537.36 OPR/24.0.1558.64 (Edition Baidu)
其中目前主要就是三种内核 IE自己的Trident 以及webkit和Gecko,webkit就是以chrome和safari为代表,opera也是转投webkit。
opera内核介绍:
from 维基百科:
Presto 是一个由 Opera Software 开发的浏览器排版引擎,供 Opera 7.0-12.16版本使用。
Presto 取代了旧版 Opera 4至6版本使用的 Elektra 排版引擎,包括加入动态功能,例如网页或其部分可随着 DOM 及 Script 语法的事件而重新排版。Presto 从12.16版本后被Blink取代,Opera宣称为了更好的追求效果,而不是去维护内核。
Presto 在推出后不断有更新版本推出,使不少错误得以修正,以及阅读 JavaScript 效能得以最佳化。
2013年2月13日,Opera Software宣布未来产品将以Webkit和V8为主,逐步放弃使用基于Presto引擎的产品。
检测浏览器:在windows上实际上也就主要区分google/firefox/IE 以及那些宣讲的多内核 其user-agent是比较乱七八糟了,下面是简单检测实例://浏览器方式检测
//1.使用对象特征检测2.使用user-agent方式进行检测
var sAppName;
var sUserAgent = navigator.userAgent;
var fAppVersion = parseFloat(navigator.appVersion);
//检测opera浏览器
var isOperaNew = isOperaOld = sUserAgent.indexOf("Opera") > -1;
if (!isOperaOld) {
//Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.122 Safari/537.36 OPR/24.0.1558.64 (Edition Baidu)
isOperaNew = sUserAgent.indexOf("OPR") > -1;
}
if (isOperaOld || isOperaNew) {
sAppName = "opera";
var fOperaVersion;
//未使用伪装下的opera浏览器
if (navigator.appName == "Opera") {
fOperaVersion = fAppVersion;
} else {
//老的opera浏览器的user-agent
if (isOperaOld) {
sAppName += "Old";
var regOperaVersionOld = new RegExp("Opera (^\\d+(\\.\\d+)*)");
regOperaVersionOld.test(sUserAgent);
fOperaVersion = parseFloat(RegExp["$1"]);
} else if (isOperaNew) {
sAppName += "New";
var regOperaVersionNew = new RegExp("OPR/(\\d+\\.\\d+)");
regOperaVersionNew.test(sUserAgent);
fOperaVersion = parseFloat(RegExp["$1"]);
}
}
fAppVersion = fOperaVersion;
}
//检测opera浏览器结束********************************************
//检测IE浏览器
var isIE = sUserAgent.indexOf("compatible") > -1 && sUserAgent.indexOf("MSIE") > -1 && !isOperaOld && !isOperaNew
//MSIE 8.0
if (isIE) {
var regIE = new RegExp("MSIE (\\d+(\\.\\d+)*)");
regIE.test(sUserAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
sAppName = "IE";
fAppVersion = fIEVersion;
}
//检测IE浏览器结束***********************************************
//检测Mozilla
//Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0
var isMozilla = sUserAgent.indexOf("Gecko") > -1 && sUserAgent.indexOf("like Gecko") == -1;
if (isMozilla) {
var regMozilla = new RegExp("rv:(\\d+(\\.\\d+)*)");
regMozilla.test(sUserAgent);
var fMozillaVersion = parseFloat(RegExp["$1"]);
sAppName = "Mozilla";
fAppVersion = fMozillaVersion;
//判断FireFox
var isMozilla = sUserAgent.indexOf("Gecko") > -1 && sUserAgent.indexOf("FireFox") > -1;
if (isMozilla) {
sAppName = "Firefox";
}
}
//检测Mozilla浏览器结束***********************************************
alert(sAppName);
alert(fAppVersion);