jquery判断浏览器类型的代码


Posted in Javascript onNovember 05, 2012

Jquery中利用navigator.userAgent.indexOf来判断浏览器类型,并进行了一下处理,建议学习Jquery的朋友学习下,了解一下思路。

主要使用的方法:$.browser.['浏览器关键字']

$(function() { 
if($.browser.msie) { 
alert("this is msie"); 
} else if($.browser.safari) { 
alert("this is safari!"); 
} else if($.browser.mozilla) { 
alert("this is mozilla!"); 
} else if($.browser.opera) { 
alert("this is opera"); 
} else { 
alert("i don't konw!"); 
}

我们看下jQuery的源码:
var userAgent = navigator.userAgent.toLowerCase(); 
// Figure out what browser is being used 
jQuery.browser = { 
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1], 
safari: /webkit/.test( userAgent ), 
opera: /opera/.test( userAgent ), 
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), 
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) 
};

Jquery 使用的是通过正则来匹配userAgent判断浏览器的种类和版本.
version---浏览器版本
msie----ie浏览器(Microsoft Internet Explorer)
mozilla-火狐浏览器
opera--opera浏览器

如果我们要来判断当前浏览器是否是IE6应该如何来判断?

if($.browser.msie&&($.browser.version == "6.0")&&!$.support.style){ 
alert("ie6"); 
}

同样Jquery判断浏览器是否为IE7
if($.browser.msie&&($.browser.version == "7.0")){ 
alert("ie7"); 
}

如果不想使用Jquery,稍为修改下代码就可以为自己所用Js代码:
var userAgent = navigator.userAgent.toLowerCase(); 
browser={ 
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1], 
safari: /webkit/.test( userAgent ), 
opera: /opera/.test( userAgent ), 
msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), 
mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) 
}

调用的时候和jquery一样,只不过把$符号取掉就行了

如果是为了判断IE的版本我还是推荐用IE的条件表达式来书写JS

<!--[if IE]> 
<script type="text/javascript"> 
alert("ie"); 
</script> 
<![endif]--> 
<!--[if IE 6]> 
<script type="text/javascript"> 
alert("ie6"); 
</script> 
<![endif]--> 
<!--[if IE 7]> 
<script type="text/javascript"> 
alert("ie7"); 
</script> 
<![endif]-->

这个比我们手动通过$.browser来判断IE版本更精准,也不用去记jquery的browser的使用方法了
Javascript 相关文章推荐
jQuery源码中的chunker 正则过滤符分析
Jul 31 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
jQuery中[attribute*=value]选择器用法实例
Dec 31 Javascript
JQuery CheckBox(复选框)操作方法汇总
Apr 15 Javascript
基于JavaScript创建动态Dom
Dec 08 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
Feb 18 Javascript
Angularjs---项目搭建图文教程
Jul 08 Javascript
JavaScript 中有关数组对象的方法(详解)
Aug 15 Javascript
深究AngularJS中ng-drag、ng-drop的用法
Jun 12 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
Sep 14 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
Apr 09 Javascript
EXTJS7实现点击拖拉选择文本
Dec 17 Javascript
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 #Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
Nov 01 #Javascript
js限制textarea每行输入字符串长度的代码
Oct 31 #Javascript
JS TextArea字符串长度限制代码集合
Oct 31 #Javascript
JS 控件事件小结
Oct 31 #Javascript
jQuery事件 delegate()使用方法介绍
Oct 30 #Javascript
fancybox modal的完美解决(右上的X)
Oct 30 #Javascript
You might like
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
Linux中为php配置伪静态
2014/12/17 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
iOS10推送通知开发教程
2016/09/19 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
使用Python实现一个简单的项目监控
2015/03/31 Python
python中的全局变量用法分析
2015/06/09 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
英国名牌服装购物网站:OD’s Designer
2019/09/02 全球购物
中学生获奖感言
2014/02/04 职场文书
党员创先争优承诺书
2014/03/26 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
2014年教务处工作总结
2014/12/03 职场文书