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 相关文章推荐
QQ登录简单实现代码
Mar 09 Javascript
javascript 字符串连接的性能问题(多浏览器)
Nov 18 Javascript
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
Mar 04 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
javascript实现信息增删改查的方法
Jul 25 Javascript
jQuery下拉框的简单应用
Jun 24 Javascript
AngularJS压缩JS技巧分析
Nov 08 Javascript
vue element-ui table表格滚动加载方法
Mar 02 Javascript
解决vue-router中的query动态传参问题
Mar 20 Javascript
Bootstrap Table列宽拖动的方法
Aug 15 Javascript
React手稿之 React-Saga的详解
Nov 12 Javascript
基于axios 的responseType类型的设置方法
Oct 29 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/03 冲泡冲煮
php对文件进行hash运算的方法
2015/04/03 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
2013/02/04 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
微信小程序 MD5的方法详解及实例代码
2017/03/10 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
react build 后打包发布总结
2018/08/24 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
如何解决vue在ios微信&quot;复制链接&quot;功能问题
2020/03/26 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
python 文件和路径操作函数小结
2009/11/23 Python
Tesserocr库的正确安装方式
2018/10/19 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
Django websocket原理及功能实现代码
2020/11/14 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
房屋出租协议书
2014/04/10 职场文书
初中英语教学随笔
2015/08/15 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA