从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下:
1 1 <script type="text/javascript"> 2 2 var Sys = {}; 3 3 var ua = navigator.userAgent.toLowerCase(); 4 4 var s; 5 5 (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 6 6 (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : 7 7 (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : 8 8 (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : 9 9 (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; 1010 1111 //以下进行测试 1212 if (Sys.ie) document.write('IE: ' + Sys.ie); 1313 if (Sys.firefox) document.write('Firefox: ' + Sys.firefox); 1414 if (Sys.chrome) document.write('Chrome: ' + Sys.chrome); 1515 if (Sys.opera) document.write('Opera: ' + Sys.opera); 1616 if (Sys.safari) document.write('Safari: ' + Sys.safari); 1717 </script>
将上述代码封装成一个方法,方法返回Sys对象,Sys对象中封装了浏览器的类型和版本信息,如下:
11 function getBrowserInfo(){ 22 var Sys = {}; 33 var ua = navigator.userAgent.toLowerCase(); 44 var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; 55 var m = ua.match(re); 66 Sys.browser = m[1].replace(/version/, "'safari"); 77 Sys.ver = m[2]; 88 return Sys; 99 }
当需要获取浏览器的类型和版本信息时,就可以使用getBroserInfo方法,如下:
11 <script type="text/javascript"> 22 //获取当前的浏览器信息 33 var sys = getBrowserInfo(); 44 //sys.browser得到浏览器的类型,sys.ver得到浏览器的版本 55 document.write(sys.browser + "的版本是:" + sys.ver); 66 </script>
完整测试代码如下:
1 1 <!DOCTYPE HTML> 2 2 <html> 3 3 <head> 4 4 <title>JavaScript获取浏览器类型与版本</title> 5 5 <script type="text/javascript"> 6 6 var Sys = {}; 7 7 var ua = navigator.userAgent.toLowerCase(); 8 8 var s; 9 9 (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 1010 (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : 1111 (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : 1212 (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : 1313 (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; 1414 1515 //以下进行测试 1616 if (Sys.ie) document.write('IE: ' + Sys.ie); 1717 if (Sys.firefox) document.write('Firefox: ' + Sys.firefox); 1818 if (Sys.chrome) document.write('Chrome: ' + Sys.chrome); 1919 if (Sys.opera) document.write('Opera: ' + Sys.opera); 2020 if (Sys.safari) document.write('Safari: ' + Sys.safari); 2121 </script> 2222 <script type="text/javascript"> 2323 function getBrowserInfo(){ 2424 var Sys = {}; 2525 var ua = navigator.userAgent.toLowerCase(); 2626 var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; 2727 var m = ua.match(re); 2828 Sys.browser = m[1].replace(/version/, "'safari"); 2929 Sys.ver = m[2]; 3030 return Sys; 3131 } 3232 document.write('<hr/>'); 3333 //获取当前的浏览器信息 3434 var sys = getBrowserInfo(); 3535 //sys.browser得到浏览器的类型,sys.ver得到浏览器的版本 3636 document.write(sys.browser + "的版本是:" + sys.ver); 3737 </script> 3838 </head> 3939 4040 <body> 4141 4242 </body> 4343 </html>
运行结果:
IE浏览器下测试结果:
google浏览器下测试结果:
火狐浏览器下测试结果: