jQuery 1.9使用$.support替代$.browser的使用方法


Posted in Javascript onMay 27, 2014

jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9。 如果要全面支持 IE,并混合使用 jQuery 1.9 和 2.0, 官方的解决方案是:

<!--[if lt IE 9]>
  <script src='jquery-1.9.0.js'></script>
<![endif]-->
<!--[if gte IE 9]>
  <script src='jquery-2.0.0.js'></script>
<![endif]-->

从长久来看,这样有利于在复杂情况下根据浏览器特性进行分别处理, 而不是简单的检测浏览器类型和版本。 但目前很多旧程序的移植恐怕无法直接过渡为根据浏览器支持特性, 所以在网上找了一些能够直接替换的解决办法。

判断浏览器类型:

$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());
$.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
$.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
$.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());

等号后面的表达式返回的就是 true/false, 可以直接用来替换原来的 $.browser.msie 等。如需要检查是否为 IE6时,可以这么写:

// Old
if ($.browser.msie && 7 > $.browser.version) {}
// New
if ('undefined' == typeof(document.body.style.maxHeight)) {}

检查是否为 IE 6-8:

if (!$.support.leadingWhitespace) {}

终极方法是用另外的类库替代,可以参照老外写的一篇文章:

Browser detect

Javascript 相关文章推荐
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 Javascript
JavaScript Event学习补遗 addEventSimple
Feb 11 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
Dec 27 Javascript
JavaScript中把数字转换为字符串的程序代码
Jun 19 Javascript
AngularJS控制器controller正确的通信的方法
Jan 25 Javascript
AngularJs自定义服务之实现签名和加密
Aug 02 Javascript
Bootstrap在线电子商务网站实战项目5
Oct 14 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
Dec 11 Javascript
原生JS京东轮播图代码
Mar 22 Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 Javascript
什么是cookie?js手动创建和存储cookie
May 27 #Javascript
js打开windows上的可执行文件示例
May 27 #Javascript
JavaScript数值数组排序示例分享
May 27 #Javascript
JavaScript作用域链示例分享
May 27 #Javascript
Node调试工具JSHint的安装及配置教程
May 27 #Javascript
javaScript使用EL表达式的几种方式
May 27 #Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
May 27 #Javascript
You might like
PHP5中虚函数的实现方法分享
2011/04/20 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
JavaScript 基础问答三
2008/12/03 Javascript
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
怎么清空javascript数组
2013/05/11 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
jQuery弹出遮罩层效果完整示例
2016/09/13 Javascript
jQuery编写网页版2048小游戏
2017/01/06 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
python创建和删除目录的方法
2015/04/29 Python
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
亮剑精神观后感
2015/06/05 职场文书