首页 > 代码库 > JavaScript获取浏览器类型与版本

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浏览器下测试结果:

  

火狐浏览器下测试结果: