// Useragent RegExp
rwebkit = /(webkit)[ / ]([w.] )/,
ropera = /(opera)(?:.*version)?[ /]([w.] )/,
rmsie = /(msie) ([w. ] )/,
rmozilla = /(mozilla)(?:.*? rv:([w.] ))?/,
// jQuery.browser와 함께 사용할 UserAgent 문자열 유지
userAgent = navigator.userAgent,
// 브라우저의 엔진과 버전을 일치시키기 위해
browserMatch,
// jQuery.browser 사용은 눈살을 찌푸리게 합니다.
// 자세한 내용: 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("호환") < 0 && rmozilla.exec(ua) ||
[];
return { 브라우저: match[1] || "", 버전: match[2] || "0" };
}
browserMatch = jQuery.uaMatch( userAgent );
if ( browserMatch.browser ) {
jQuery.browser[ browserMatch.browser ] = true;
jQuery.browser.version = browserMatch.version;
}
분할:浏览器之间的兼容性问题,这个一个历史遗留问题。得为这个兼容性问题买单。我们做开发2. 제가 아는 방법은 다음과 같습니다. 2.对象检测。
재 jQuery 2.navigator.userAgent;
一,regExp.exec(str);是第一个子匹配,2원素是第日个子匹配,如此类推。
two,navigator.userAgent:是javascript BOM 的对要的对象配,它主要返回当前的浏览器와操系统的信息。
例如:firefox의 네비게이터 .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(호환; 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)".
从各个浏览器的正则表达式可知,第一个子匹配为浏览器의이름, 第五个为版本.