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程序设计有所帮助。