分享jquery uaMatch源代碼

    時間:2024-07-28 15:47:54 jQuery 我要投稿
    • 相關推薦

    分享jquery uaMatch源代碼

      jquery uaMatch源代碼

      復制代碼 代碼如下:

      // Useragent RegExp

      rwebkit = /(webkit)[ /]([w.]+)/,

      ropera = /(opera)(?:.*version)?[ /]([w.]+)/,

      rmsie = /(msie) ([w.]+)/,

      rmozilla = /(mozilla)(?:.*? rv:([w.]+))?/,

      // Keep a UserAgent string for use with jQuery.browser

      userAgent = navigator.userAgent,

      // For matching the engine and version of the browser

      browserMatch,

      // Use of jQuery.browser is frowned upon.

      // More details: http://docs.jquery.com/Utilities/jQuery.browser

      uaMatch: function( ua ) {

      ua = ua.toLowerCase();

      var match = rwebkit.exec( ua ) ||

      ropera.exec( ua ) ||

      rmsie.exec( ua ) ||

      ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||

      [];

      return { browser: match[1] || "", version: match[2] || "0" };

      }

      browserMatch = jQuery.uaMatch( userAgent );

      if ( browserMatch.browser ) {

      jQuery.browser[ browserMatch.browser ] = true;

      jQuery.browser.version = browserMatch.version;

      }

      分析:瀏覽器之間的兼容性問題,這個一個歷史遺留問題。痛苦的是,作為一個前端開發人員得為這個兼容性問題買單。我們做開發時,往往要為每種瀏覽器作出局部的代碼調整才能在相應的瀏覽器中良好的運行。我所知道的方法有兩種:1.瀏覽器檢測;2.對象檢測。

      在jQuery 中只要用行uaMatch()這個函數。用到的關鍵點有:1.regExp.exec(str);2.navigator.userAgent;

      一,regExp.exec(str);用正則表達式來在字符串中查找,并返回一個數組,這個數組的0元素是整個正則匹配,1元素是第一個子匹配,2元素是第二個子匹配,如此類推。

      二,navigator.userAgent:是javascript BOM的重要的對象之一,它主要用來返回當前的瀏覽器和操作系統的信息。

      例如:firefox的navigator.userAgetn 的字符串:"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"

      IE8的navigator.userAgetn的字符串:"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)".

      從各個瀏覽器的正則表達式可知,第一個子匹配為瀏覽器的名字,第二個為版本。

    【分享jquery uaMatch源代碼】相關文章:

    jQuery程序設計08-05

    jquery提交按鈕的代碼07-28

    淺析jQuery 遍歷函數javascript08-06

    jQuery中prev()方法用法07-16

    jQuery中replaceAll()方法用法10-15

    如何理解jquery事件冒泡09-15

    jQuery的DOM操作筆記07-29

    java非對稱加密的源代碼(rsa)08-01

    關于Java源代碼折行的規則10-27

    jQuery 源碼分析和Ready函數06-28

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      色爱区综合激月婷婷视频 | 久久永久免费精品视频网站 | 五月婷婷丁香视频在线 | 亚洲成a人v电影在线点播 | 亚洲无线国产观看 | 亚洲最新午夜福利网址 |