jquery uaMatch源代码

 更新时间:2011年02月14日 18:33:07   作者:  
在jQuery 中只要用行uaMatch()这个函数。用到的关键点有:1.regExp.exec(str);2.navigator.userAgent;
复制代码 代码如下:

// 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替换节点元素的操作方法

    jQuery替换节点元素的操作方法

    这篇文章通过实例代码给大家讲解了jquery替换节点元素的操作方法及动态页面的实现代码,非常不错,需要的朋友参考下吧
    2018-03-03
  • jQuery DOM操作实例

    jQuery DOM操作实例

    本文用代码的方式详细讲解了jQuery的DOM操作,具体操作方法请详细参看代码中的注释部份
    2014-03-03
  • jquery实现弹出div,始终显示在屏幕正中间的简单实例

    jquery实现弹出div,始终显示在屏幕正中间的简单实例

    本篇文章主要是对jquery实现弹出div,始终显示在屏幕正中间的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03
  • jQuery Easyui快速入门教程

    jQuery Easyui快速入门教程

    jQuery EasyUI是一组基于JQuery的UI插件集合,而JQueryEasyUI的目标就是帮助开发者更轻松的打造出功能丰富并且美观的UI界面,下面小编带领大家一起学习jquery easyui入门知识,一起看看吧
    2016-08-08
  • layui导航栏实现代码

    layui导航栏实现代码

    这篇文章主要为大家详细介绍了layui导航栏效果的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • jquery插件 cluetip 关键词注释

    jquery插件 cluetip 关键词注释

    有时,要实现对于一篇文章的关键词部分的提示,想实现的效果比如是,当鼠标移动到这个关键词时,弹出相关的一段文字或图片的介绍。
    2010-01-01
  • jQuery事件绑定on()、bind()与delegate() 方法详解

    jQuery事件绑定on()、bind()与delegate() 方法详解

    这篇文章主要详细介绍了jQuery事件绑定的三种方法,分别是on()、bind()与delegate(),十分的浅显易懂,有需要的小伙伴可以参考下。
    2015-06-06
  • jQuery动态创建html元素的常用方法汇总

    jQuery动态创建html元素的常用方法汇总

    这篇文章主要介绍了jQuery动态创建html元素的常用方法,包括jQuery追加元素、遍历数组以及使用模板等方法,非常具有实用价值,需要的朋友可以参考下
    2014-09-09
  • layui前段框架日期控件使用方法详解

    layui前段框架日期控件使用方法详解

    这篇文章主要为大家详细介绍了layui前段框架日期控件使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • jQuery绑定点击事件与改变事件的方式总结及多个元素绑定多个事件

    jQuery绑定点击事件与改变事件的方式总结及多个元素绑定多个事件

    我们一说到jQuery中对于元素的修改,就是元素的内容、属性、样式的修改,下面这篇文章主要给大家介绍了关于jQuery绑定点击事件与改变事件的方式总结及多个元素绑定多个事件的相关资料,需要的朋友可以参考下
    2022-12-12

最新评论