- 相關(guān)推薦
分享jquery uaMatch源代碼
jquery uaMatch源代碼
復(fù)制代碼 代碼如下:
// 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;
}
分析:瀏覽器之間的兼容性問(wèn)題,這個(gè)一個(gè)歷史遺留問(wèn)題。痛苦的是,作為一個(gè)前端開(kāi)發(fā)人員得為這個(gè)兼容性問(wèn)題買(mǎi)單。我們做開(kāi)發(fā)時(shí),往往要為每種瀏覽器作出局部的代碼調(diào)整才能在相應(yīng)的瀏覽器中良好的運(yùn)行。我所知道的方法有兩種:1.瀏覽器檢測(cè);2.對(duì)象檢測(cè)。
在jQuery 中只要用行uaMatch()這個(gè)函數(shù)。用到的關(guān)鍵點(diǎn)有:1.regExp.exec(str);2.navigator.userAgent;
一,regExp.exec(str);用正則表達(dá)式來(lái)在字符串中查找,并返回一個(gè)數(shù)組,這個(gè)數(shù)組的0元素是整個(gè)正則匹配,1元素是第一個(gè)子匹配,2元素是第二個(gè)子匹配,如此類(lèi)推。
二,navigator.userAgent:是javascript BOM的重要的對(duì)象之一,它主要用來(lái)返回當(dāng)前的瀏覽器和操作系統(tǒng)的信息。
例如: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)".
從各個(gè)瀏覽器的正則表達(dá)式可知,第一個(gè)子匹配為瀏覽器的名字,第二個(gè)為版本。
【分享jquery uaMatch源代碼】相關(guān)文章:
小升初經(jīng)驗(yàn)分享范文09-06
分享硬盤(pán)要走進(jìn)家電07-16
科目四考試答題技巧分享02-23
分享徒手攀巖的注意事項(xiàng)09-22
考研英語(yǔ)閱讀做題技巧分享08-02
項(xiàng)目管理的20條經(jīng)驗(yàn)分享08-03
拉好小提琴的技巧分享05-16
高中英語(yǔ)閱讀理解技巧分享09-05