手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jquery uaMatch源代码
jquery uaMatch源代码
摘要:复制代码代码如下://UseragentRegExprwebkit=/(webkit)[/]([w.]+)/,ropera=/(opera)...

复制代码 代码如下:

// 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 zTree 树控件异步加载操作

jquery实现的判断倒计时是否结束代码

jQuery实现div随意拖动的实例代码(通用代码)

jQuery 遍历函数详解

Jquery注册事件实现方法

7个有用的jQuery代码片段分享

jquery中添加属性和删除属性

浅谈jQuery中replace()方法

Js和JQuery获取鼠标指针坐标的实现代码分享

jquery使用经验小结

精品推荐
分类导航