網站首頁 語言 會計 互聯網計算機 醫學 學歷 職場 文藝體育 範文
當前位置:學識谷 > 設計製作 > 網頁設計

分享jquery uaMatch源代碼

欄目: 網頁設計 / 發佈於: / 人氣:4.2K

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 ser

userAgent = Agent,

// For matching the engine and version of the browser

browserMatch,

// Use of ser is frowned upon.

// More details:

uaMatch: function( ua ) {

ua = werCase();

var match = ( ua ) ||

( ua ) ||

( ua ) ||

xOf("compatible") < 0 && ( ua ) ||

[];

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

}

browserMatch = tch( userAgent );

if ( ser ) {

ser[ ser ] = true;

ion = ion;

}

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

在jQuery 中只要用行uaMatch()這個函數。用到的`關鍵點有:(str);Agent;

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

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

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

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

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