js判断浏览器版本以及浏览器内核的方法
本文实例讲述了js判断浏览器版本以及浏览器内核的方法。分享给大家供大家参考。具体实现方法如下:
js判断是否移动端及浏览器内核
varbrowser={
versions:function(){
varu=navigator.userAgent;
return{
trident:u.indexOf('Trident')>-1,//IE内核
presto:u.indexOf('Presto')>-1,//opera内核
webKit:u.indexOf('AppleWebKit')>-1,//苹果、谷歌内核
gecko:u.indexOf('Firefox')>-1,//火狐内核Gecko
mobile:!!u.match(/AppleWebKit.*Mobile.*/),//是否为移动终端
ios:!!u.match(/\(i[^;]+;(U;)?CPU.+MacOSX/),//ios
android:u.indexOf('Android')>-1||u.indexOf('Linux')>-1,//android
iPhone:u.indexOf('iPhone')>-1,//iPhone
iPad:u.indexOf('iPad')>-1,//iPad
webApp:u.indexOf('Safari')>-1//Safari
};
}()
}
if(browser.versions.mobile||browser.versions.ios||browser.versions.android||browser.versions.iPhone||browser.versions.iPad){
alert('移动端');
}
代码二
document.write(navigator.userAgent+'<br><br>') document.write(browser.versions.trident+'<span>//ie</span><br>') document.write(browser.versions.presto+'<span>//opera</span><br>') document.write(browser.versions.webKit+'<span>//苹果、谷歌内核</span><br>') document.write(browser.versions.gecko+'<span>//火狐内核</span><br>') document.write(browser.versions.mobile+'<span>//是否为移动终端</span><br>') document.write(browser.versions.ios+'<span>//ios</span><br>') document.write(browser.versions.android+'<span>//android</span><br>') document.write(browser.versions.iPhone+'<span>//iPhone</span><br>') document.write(browser.versions.iPad+'<span>//iPad</span><br>') document.write(browser.versions.webApp+'<span>//Safari</span><br>')
if(!browser.ie&&!browser.mac){
varUA=navigator.userAgent.toLowerCase().toString();
//判断是不是IE内核下的非IE版本
if((UA.indexOf('360ee')>-1)||(UA.indexOf('360se')>-1)||(UA.indexOf('se')>-1)||(UA.indexOf('aoyou')>-1)
||(UA.indexOf('theworld')>-1)||(UA.indexOf('worldchrome')>-1)||(UA.indexOf('greenbrowser')>-1)
||(UA.indexOf('baidu')>-1)||(UA.indexOf('qqbrowser')>-1)){
//是的话切换兼容模式
window.open("publicPage/point-se.aspx");
}
else{
//不是的话,建议更换浏览器
alert('建议换成IE内核的浏览器');
}
}
else{
//判断IE的版本型号
if((browser.version==10&&browser.ie10Compat)||(browser.version==11&&browser.ie11Compat)){
window.open("publicPage/point.aspx");
}
/*
*@desc判断浏览器的版本以及浏览器内核
*@authorwangyanling
*@date2014年7月4日
*/
varbrowser=function(){
varagent=navigator.userAgent.toLowerCase(),
opera=window.opera,
browser={
//检测当前浏览器是否为IE
ie:/(msie\s|trident.*rv:)([\w.]+)/.test(agent),
//检测当前浏览器是否为Opera
opera:(!!opera&&opera.version),
//检测当前浏览器是否是webkit内核的浏览器
webkit:(agent.indexOf('applewebkit/')>-1),
//检测当前浏览器是否是运行在mac平台下
mac:(agent.indexOf('macintosh')>-1),
//检测当前浏览器是否处于“怪异模式”下
quirks:(document.compatMode=='BackCompat')
};
//检测当前浏览器内核是否是gecko内核
browser.gecko=(navigator.product=='Gecko'&&!browser.webkit&&!browser.opera&&!browser.ie);
varversion=0;
//InternetExplorer6.0+
if(browser.ie){
varv1=agent.match(/(?:msie\s([\w.]+))/);
varv2=agent.match(/(?:trident.*rv:([\w.]+))/);
if(v1&&v2&&v1[1]&&v2[1]){
version=Math.max(v1[1]*1,v2[1]*1);
}elseif(v1&&v1[1]){
version=v1[1]*1;
}elseif(v2&&v2[1]){
version=v2[1]*1;
}else{
version=0;
}
//检测浏览器模式是否为IE11兼容模式
browser.ie11Compat=document.documentMode==11;
//检测浏览器模式是否为IE9兼容模式
browser.ie9Compat=document.documentMode==9;
//检测浏览器模式是否为IE10兼容模式
browser.ie10Compat=document.documentMode==10;
//检测浏览器是否是IE8浏览器
browser.ie8=!!document.documentMode;
//检测浏览器模式是否为IE8兼容模式
browser.ie8Compat=document.documentMode==8;
//检测浏览器模式是否为IE7兼容模式
browser.ie7Compat=((version==7&&!document.documentMode)||document.documentMode==7);
//检测浏览器模式是否为IE6模式或者怪异模式
browser.ie6Compat=(version<7||browser.quirks);
browser.ie9above=version>8;
browser.ie9below=version<9;
}
//Gecko.
if(browser.gecko){
vargeckoRelease=agent.match(/rv:([\d\.]+)/);
if(geckoRelease){
geckoRelease=geckoRelease[1].split('.');
version=geckoRelease[0]*10000+(geckoRelease[1]||0)*100+(geckoRelease[2]||0)*1;
}
}
//检测当前浏览器是否为Chrome,如果是,则返回Chrome的大版本号
if(/chrome\/(\d+\.\d)/i.test(agent)){
browser.chrome=+RegExp['\x241'];
}
//检测当前浏览器是否为Safari,如果是,则返回Safari的大版本号
if(/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(agent)&&!/chrome/i.test(agent)){
browser.safari=+(RegExp['\x241']||RegExp['\x242']);
}
//Opera9.50+
if(browser.opera)
version=parseFloat(opera.version());
//WebKit522+(Safari3+)
if(browser.webkit)
version=parseFloat(agent.match(/applewebkit\/(\d+)/)[1]);
//检测当前浏览器版本号
browser.version=version;
returnbrowser;
}();
希望本文所述对大家的javascript程序设计有所帮助。