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.timer插件实现一个计时器
Apr 25 Javascript
javascript 异步页面查询实现代码(asp.net)
May 26 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
Sep 17 Javascript
20款效果非常棒的 jQuery 插件小结分享
Nov 18 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
Dec 19 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
Jan 11 Javascript
easyui Droppable组件实现放置特效
Aug 19 Javascript
JS组件Bootstrap实现弹出框效果代码
Apr 26 Javascript
Angular2表单自定义验证器的实现
Oct 19 Javascript
Bootstrap CSS布局之按钮
Dec 17 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
Apr 13 Javascript
vue项目动态设置页面title及是否缓存页面的问题
Nov 08 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
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
JQuery 文本框使用小结
2010/05/22 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
jquery 实现checkbox全选,反选,全不选等功能代码(奇数)
2012/10/24 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
python创建和删除目录的方法
2015/04/29 Python
Python通过select实现异步IO的方法
2015/06/04 Python
详解python基础之while循环及if判断
2017/08/24 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
分享vim python缩进等一些配置
2018/07/02 Python
python 整数越界问题详解
2019/06/27 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
解决python 找不到module的问题
2020/02/12 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
加拿大花店:1800Flowers.ca
2016/11/16 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
自我鉴定总结
2014/03/24 职场文书
师德师风承诺书
2014/05/23 职场文书
家长通知书家长意见
2015/06/03 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书