写了一个判断当前浏览器类型及版本的方法,只在IE 8/11 、谷歌 、360 浏览器(不完全)上测试过,需要用到jquery
核心代码:
;(function($, window, document,undefined){ if(!window.browser){ var userAgent = navigator.userAgent.toLowerCase(),uaMatch; window.browser = {} /** * 判断是否为ie */ function isIE(){ return (\"ActiveXObject\" in window); } /** * 判断是否为谷歌浏览器 */ if(!uaMatch){ uaMatch = userAgent.match(/chrome\\/([\\d.]+)/); if(uaMatch!=null){ window.browser[\'name\'] = \'chrome\'; window.browser[\'version\'] = uaMatch[1]; } } /** * 判断是否为火狐浏览器 */ if(!uaMatch){ uaMatch = userAgent.match(/firefox\\/([\\d.]+)/); if(uaMatch!=null){ window.browser[\'name\'] = \'firefox\'; window.browser[\'version\'] = uaMatch[1]; } } /** * 判断是否为opera浏览器 */ if(!uaMatch){ uaMatch = userAgent.match(/opera.([\\d.]+)/); if(uaMatch!=null){ window.browser[\'name\'] = \'opera\'; window.browser[\'version\'] = uaMatch[1]; } } /** * 判断是否为Safari浏览器 */ if(!uaMatch){ uaMatch = userAgent.match(/safari\\/([\\d.]+)/); if(uaMatch!=null){ window.browser[\'name\'] = \'safari\'; window.browser[\'version\'] = uaMatch[1]; } } /** * 最后判断是否为IE */ if(!uaMatch){ if(userAgent.match(/msie ([\\d.]+)/)!=null){ uaMatch = userAgent.match(/msie ([\\d.]+)/); window.browser[\'name\'] = \'ie\'; window.browser[\'version\'] = uaMatch[1]; }else{ /** * IE10 */ if(isIE() && !!document.attachEvent && (function(){\"use strict\";return !this;}())){ window.browser[\'name\'] = \'ie\'; window.browser[\'version\'] = \'10\'; } /** * IE11 */ if(isIE() && !document.attachEvent){ window.browser[\'name\'] = \'ie\'; window.browser[\'version\'] = \'11\'; } } } /** * 注册判断方法 */ if(!$.isIE){ $.extend({ isIE:function(){ return (window.browser.name == \'ie\'); } }); } if(!$.isChrome){ $.extend({ isChrome:function(){ return (window.browser.name == \'chrome\'); } }); } if(!$.isFirefox){ $.extend({ isFirefox:function(){ return (window.browser.name == \'firefox\'); } }); } if(!$.isOpera){ $.extend({ isOpera:function(){ return (window.browser.name == \'opera\'); } }); } if(!$.isSafari){ $.extend({ isSafari:function(){ return (window.browser.name == \'safari\'); } }); } } })(jQuery, window, document);
使用方法:
//使用方式 console.log(window.browser); console.log($.isIE()); console.log($.isChrome());
phpstudy小编特提供的完整测试代码:
<html> <head> <title>jquery 浏览器判断</title> </head> <body> <script src=\"http://demo.phpstudy.net/jslib/jquery/jquery-1.8.3.min.js\"></script> <script type=\"text/javascript\"> (function($, window, document,undefined){ if(!window.browser){ var userAgent = navigator.userAgent.toLowerCase(),uaMatch; window.browser = {} /** * 判断是否为ie */ function isIE(){ return (\"ActiveXObject\" in window); } /** * 判断是否为谷歌浏览器 */ if(!uaMatch){ uaMatch = userAgent.match(/chrome\\/([\\d.]+)/); if(uaMatch!=null){ window.browser[\'name\'] = \'chrome\'; window.browser[\'version\'] = uaMatch[1]; } } /** * 判断是否为火狐浏览器 */ if(!uaMatch){ uaMatch = userAgent.match(/firefox\\/([\\d.]+)/); if(uaMatch!=null){ window.browser[\'name\'] = \'firefox\'; window.browser[\'version\'] = uaMatch[1]; } } /** * 判断是否为opera浏览器 */ if(!uaMatch){ uaMatch = userAgent.match(/opera.([\\d.]+)/); if(uaMatch!=null){ window.browser[\'name\'] = \'opera\'; window.browser[\'version\'] = uaMatch[1]; } } /** * 判断是否为Safari浏览器 */ if(!uaMatch){ uaMatch = userAgent.match(/safari\\/([\\d.]+)/); if(uaMatch!=null){ window.browser[\'name\'] = \'safari\'; window.browser[\'version\'] = uaMatch[1]; } } /** * 最后判断是否为IE */ if(!uaMatch){ if(userAgent.match(/msie ([\\d.]+)/)!=null){ uaMatch = userAgent.match(/msie ([\\d.]+)/); window.browser[\'name\'] = \'ie\'; window.browser[\'version\'] = uaMatch[1]; }else{ /** * IE10 */ if(isIE() && !!document.attachEvent && (function(){\"use strict\";return !this;}())){ window.browser[\'name\'] = \'ie\'; window.browser[\'version\'] = \'10\'; } /** * IE11 */ if(isIE() && !document.attachEvent){ window.browser[\'name\'] = \'ie\'; window.browser[\'version\'] = \'11\'; } } } /** * 注册判断方法 */ if(!$.isIE){ $.extend({ isIE:function(){ return (window.browser.name == \'ie\'); } }); } if(!$.isChrome){ $.extend({ isChrome:function(){ return (window.browser.name == \'chrome\'); } }); } if(!$.isFirefox){ $.extend({ isFirefox:function(){ return (window.browser.name == \'firefox\'); } }); } if(!$.isOpera){ $.extend({ isOpera:function(){ return (window.browser.name == \'opera\'); } }); } if(!$.isSafari){ $.extend({ isSafari:function(){ return (window.browser.name == \'safari\'); } }); } } })(jQuery, window, document); //使用方式 alert(window.browser.name); //下面是ie F2中测试可以看到效果 console.log(window.browser); console.log($.isIE()); console.log($.isChrome()); </script> </body> </html>
本文地址:https://www.stayed.cn/item/10330
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我