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 相关文章推荐
jQuery创建自己的插件(自定义插件)的方法
Jun 10 Javascript
在javascript将NodeList作为Array数组处理的方法
Jul 09 Javascript
重写javascript中window.confirm的行为
Oct 21 Javascript
JS模拟并美化的表单控件完整实例
Aug 19 Javascript
浅析Node.js 中 Stream API 的使用
Oct 23 Javascript
js实现的万能flv网页播放器代码
Apr 30 Javascript
js遍历map javaScript遍历map的简单实现
Aug 26 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
Mar 07 Javascript
angular.js实现列表orderby排序的方法
Oct 02 Javascript
小程序实现列表点赞功能
Nov 02 Javascript
vue中实现动态生成二维码的方法
Feb 21 Javascript
解决Vue中使用keepAlive不缓存问题
Aug 04 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
php多文件上传功能实现原理及代码
2013/04/18 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
JsDom 编程小结
2011/08/09 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
python中字符串的操作方法大全
2018/06/03 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
python实现控制COM口的示例
2019/07/03 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
2020/02/17 Python
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
JAVA程序员面试题
2012/10/03 面试题
优秀班干部事迹材料
2014/01/26 职场文书
初三政治教学反思
2014/01/30 职场文书
中秋寄语大全
2014/04/11 职场文书
三八妇女节寄语
2015/02/27 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
学术研讨会主持词
2015/07/04 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
Consul在linux环境的集群部署
2022/04/08 Servers