浏览器内核有几种?浏览器内核检测方法介绍( 二 )

< 7 || browser.quirks);70browser.ie9above = version > 8;71browser.ie9below = version < 9;72}73// Gecko.74if (browser.gecko) {75var geckoRelease = agent.match(/rv:([d.] )/);76if (geckoRelease) {77geckoRelease = geckoRelease[1].split('.');78version = geckoRelease[0] * 10000(geckoRelease[1] || 0) * 100(geckoRelease[2] || 0) * 1;79}80}81//检测当前浏览器是否为Chrome, 如果是,则返回Chrome的大版本号82if (/chrome/(d .d)/i.test(agent)) {83browser.chrome =RegExp['x241'];84}85//检测当前浏览器是否为Safari, 如果是,则返回Safari的大版本号86if (/(d .d)?(?:.d)?s safari/?(d .d )?/i.test(agent) && !/chrome/i.test(agent)) {87browser.safari =(RegExp['x241'] || RegExp['x242']);88}89// Opera 9.50 90if (browser.opera)91version = parseFloat(opera.version());92// WebKit 522(Safari 3 )93if (browser.webkit)94version = parseFloat(agent.match(/ applewebkit/(d )/)[1]);95//检测当前浏览器版本号96browser.version = version;97return browser;98}();复制代码if (!browser.ie && !browser.mac) {var UA = 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判断浏览器的版本以及浏览器内核* @author wangyanling* @date2014年7月4日*/var browser = function () {var agent = navigator.userAgent.toLowerCase(),opera = window.opera,browser = {//检测当前浏览器是否为IEie: /(msies|trident.*rv:)([w.] )/.test(agent),//检测当前浏览器是否为Operaopera: (!!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);var version = 0;// Internet Explorer 6.0 if (browser.ie) {var v1 = agent.match(/(?:msies([w.] ))/);var v2 = agent.match(/(?:trident.*rv:([w.] ))/);if (v1 && v2 && v1[1] && v2[1]) {version = Math.max(v1[1] * 1, v2[1] * 1);} else if (v1 && v1[1]) {version = v1[1] * 1;} else if (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) {var geckoRelease = 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']);}// Opera 9.50 if (browser.opera)version = parseFloat(opera.version());// WebKit 522(Safari 3 )if (browser.webkit)version = parseFloat(agent.match(/ applewebkit/(d )/)[1]);//检测当前浏览器版本号browser.version = version;return browser;}();

推荐阅读