18、JavaScript获取浏览器类型与版本
从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下:
1 <script type="text/javascript"> 2 var Sys = {}; 3 var ua = navigator.userAgent.toLowerCase(); 4 var s; 5 (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 6 (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : 7 (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : 8 (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : 9 (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; 10 11 //以下进行测试 12 if (Sys.ie) document.write('IE: ' + Sys.ie); 13 if (Sys.firefox) document.write('Firefox: ' + Sys.firefox); 14 if (Sys.chrome) document.write('Chrome: ' + Sys.chrome); 15 if (Sys.opera) document.write('Opera: ' + Sys.opera); 16 if (Sys.safari) document.write('Safari: ' + Sys.safari); 17 </script>
将上述代码封装成一个方法,方法返回Sys对象,Sys对象中封装了浏览器的类型和版本信息,如下:
1 function getBrowserInfo(){ 2 var Sys = {}; 3 var ua = navigator.userAgent.toLowerCase(); 4 var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; 5 var m = ua.match(re); 6 Sys.browser = m[1].replace(/version/, "'safari"); 7 Sys.ver = m[2]; 8 return Sys; 9 }
当需要获取浏览器的类型和版本信息时,就可以使用getBroserInfo方法,如下:
1 <script type="text/javascript"> 2 //获取当前的浏览器信息 3 var sys = getBrowserInfo(); 4 //sys.browser得到浏览器的类型,sys.ver得到浏览器的版本 5 document.write(sys.browser + "的版本是:" + sys.ver); 6 </script>
完整测试代码如下:
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>JavaScript获取浏览器类型与版本</title> 5 <script type="text/javascript"> 6 var Sys = {}; 7 var ua = navigator.userAgent.toLowerCase(); 8 var s; 9 (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 10 (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : 11 (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : 12 (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : 13 (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; 14 15 //以下进行测试 16 if (Sys.ie) document.write('IE: ' + Sys.ie); 17 if (Sys.firefox) document.write('Firefox: ' + Sys.firefox); 18 if (Sys.chrome) document.write('Chrome: ' + Sys.chrome); 19 if (Sys.opera) document.write('Opera: ' + Sys.opera); 20 if (Sys.safari) document.write('Safari: ' + Sys.safari); 21 </script> 22 <script type="text/javascript"> 23 function getBrowserInfo(){ 24 var Sys = {}; 25 var ua = navigator.userAgent.toLowerCase(); 26 var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; 27 var m = ua.match(re); 28 Sys.browser = m[1].replace(/version/, "'safari"); 29 Sys.ver = m[2]; 30 return Sys; 31 } 32 document.write('<hr/>'); 33 //获取当前的浏览器信息 34 var sys = getBrowserInfo(); 35 //sys.browser得到浏览器的类型,sys.ver得到浏览器的版本 36 document.write(sys.browser + "的版本是:" + sys.ver); 37 </script> 38 </head> 39 40 <body> 41 42 </body> 43 </html>
运行结果:
IE浏览器下测试结果:
google浏览器下测试结果:
火狐浏览器下测试结果:
坚持,再坚持