js获得浏览器类型

来源:互联网 发布:java冒泡排序法 编辑:程序博客网 时间:2024/05/01 06:29

  1. function getBrowserVersion() {  
  2.     var browser = {};  
  3.     var userAgent = navigator.userAgent.toLowerCase();  
  4.     var s;  
  5.     (s = userAgent.match(/msie ([/d.]+)/))  
  6.             ? browser.ie = s[1]  
  7.             : (s = userAgent.match(/firefox//([/d.]+)/))  
  8.                     ? browser.firefox = s[1]  
  9.                     : (s = userAgent.match(/chrome//([/d.]+)/))  
  10.                             ? browser.chrome = s[1]  
  11.                             : (s = userAgent.match(/opera.([/d.]+)/))  
  12.                                     ? browser.opera = s[1]  
  13.                                     : (s = userAgent  
  14.                                             .match(/version//([/d.]+).*safari/))  
  15.                                             ? browser.safari = s[1]  
  16.                                             : 0;  
  17.     var version = "";  
  18.     if (browser.ie) {  
  19.         version = 'msie ' + browser.ie;  
  20.     } else if (browser.firefox) {  
  21.         version = 'firefox ' + browser.firefox;  
  22.     } else if (browser.chrome) {  
  23.         version = 'chrome ' + browser.chrome;  
  24.     } else if (browser.opera) {  
  25.         version = 'opera ' + browser.opera;  
  26.     } else if (browser.safari) {  
  27.         version = 'safari ' + browser.safari;  
  28.     } else {  
  29.         version = '未知浏览器';  
  30.     }  
  31.     return version;  
  32. }

 

 

下面提供了几款关于网页特效判断浏览器类型与浏览器版本信息的代码,他可以分析的浏览器有mozilla,ie,firefox,opera,safari,chrome等信息哦。
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.jzread.com/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>css教程 js判断浏览器类型与浏览器版本</title>
  <script type="text/网页特效">
        var sys = {};
        var ua = navigator.useragent.tolowercase();
        if (window.activexobject)
            sys.ie = ua.match(/msie ([d.]+)/)[1]
        else if (document.getboxobjectfor)
            sys.firefox = ua.match(/firefox/([d.]+)/)[1]
        else if (window.messageevent && !document.getboxobjectfor)
            sys.chrome = ua.match(/chrome/([d.]+)/)[1]
        else if (window.opera)
            sys.opera = ua.match(/opera.([d.]+)/)[1]
        else if (window.opendatabase)
            sys.safari = ua.match(/version/([d.]+)/)[1];
       
        //以下进行测试
        if(sys.ie) document.write('ie: '+sys.ie);
        if(sys.firefox) document.write('firefox: '+sys.firefox);
        if(sys.chrome) document.write('chrome: '+sys.chrome);
        if(sys.opera) document.write('opera: '+sys.opera);
        if(sys.safari) document.write('safari: '+sys.safari);

    </script>

</head>

<body>
ie

      只有ie支持创建activex控件,因此她有一个其他浏览器没有的东西,就是activexobject函数。只要判断window对象存在activexobject函数,就可以明确判断出当前浏览器是ie。而ie各个版本典型的useragent如下:


        mozilla/4.0 (compatible; msie 8.0; windows nt 6.0)
        mozilla/4.0 (compatible; msie 7.0; windows nt 5.2)
        mozilla/4.0 (compatible; msie 6.0; windows nt 5.1)
        mozilla/4.0 (compatible; msie 5.0; windows nt)


      其中,版本号是msie之后的数字。

       firefox

       firefox中的dom元素都有一个getboxobjectfor函数,用来获取该dom元素的位置和大小(ie对应的中是getboundingclientrect函数)。这是firefox独有的,判断它即可知道是当前浏览器是firefox。firefox几个版本的useragent大致如下:

        mozilla/5.0 (windows; u; windows nt 5.2) gecko/2008070208 firefox/3.0.1
        mozilla/5.0 (windows; u; windows nt 5.1) gecko/20070309 firefox/2.0.0.3
        mozilla/5.0 (windows; u; windows nt 5.1) gecko/20070803 firefox/1.5.0.12
      其中,版本号是firefox之后的数字。


       opera

       opera提供了专门的浏览器标志,就是window.opera属性。opera典型的useragent如下:


        opera/9.27 (windows nt 5.2; u; zh-cn)
        opera/8.0 (macintosh; ppc mac os x; u; en)
        mozilla/5.0 (macintosh; ppc mac os x; u; en) opera 8.0


      其中,版本号是靠近opera的数字。


       safari


       safari浏览器中有一个其他浏览器没有的opendatabase函数,可做为判断safari的标志。safari典型的useragent如下:


        mozilla/5.0 (windows; u; windows nt 5.2) applewebkit/525.13 (khtml, like gecko) version/3.1 safari/525.13
        mozilla/5.0 (iphone; u; cpu like mac os x) applewebkit/420.1 (khtml, like gecko) version/3.0 mobile/4a93 safari/419.3


      其版本号是version之后的数字。

      chrome

      chrome有一个messageevent函数,但firefox也有。不过,好在chrome并没有firefox的getboxobjectfor函数,根据这个条件还是可以准确判断出chrome浏览器的。目前,chrome的useragent是:


        mozilla/5.0 (windows; u; windows nt 5.2) applewebkit/525.13 (khtml, like gecko) chrome/0.2.149.27 safari/525.13


</body>
</html>

javascript判断浏览器版本

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>js 判断浏览器</title>
</head>
<body>
<hr>
<!--判断访问者的浏览器(类型)以及版本-->
<script type="text/javascript">

var browser=navigator.appname
var b_version=navigator.appversion
var version=parsefloat(b_version)
document.write("browser name: "+ browser)
document.write("
")
document.write("browser version: "+ version)
</script>
其它信息

<script type="text/javascript">

document.write("browser: ")
document.write(navigator.appname + "")

document.write("browserversion: ")
document.write(navigator.appversion + "")

document.write("code: ")
document.write(navigator.appcodename + "")

document.write("platform: ")
document.write(navigator.platform + "")

document.write("cookies enabled: ")
document.write(navigator.cookieenabled + "")

document.write("browser's user agent header: ")
document.write(navigator.useragent + "")
</script>
css判断用户浏览器版本信息

<!--[if ie]>
      <h1>您正在使用ie浏览器</h1>
      <!--[if ie 5]>
          <h2>版本 5</h2>
      <![endif]-->
      <!--[if ie 5.0]>
          <h2>版本 5.0</h2>
      <![endif]-->
      <!--[if ie 5.5]>
          <h2>版本 5.5</h2>
      <![endif]-->
      <!--[if ie 6]>
          <h2>版本 6</h2>
      <![endif]-->
      <!--[if ie 7]>
          <h2>版本 7</h2>
      <![endif]-->
<![endif]-->

 

 

 

直接在JavaScript中区分浏览器,以及版本号,说实在的还是有点麻烦,特别是对于新手来说也不容易记住,然而在jquery中这一切都变的简单了,看看jquery为我们提供的工具$.browser吧,
alert($.browser.msie);  //如果是IE浏览器则返回true 现在我们来了解一下$.browser的所有属性,使用for in方法遍历该对象,
for(b in $.browser) alert(b);  //你将看到$.browser的所有属性 上面遍历后会返回version,safari,opera,msie,mozilla这五个属性,其中第一个属性version返回浏览器版本,而后面四个属性则返回布尔值
使用$.browser可以方便的获取浏览器类型以及版本号,然后,我们可以根据浏览器类型去做不同的事!