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 相关文章推荐
JavaScript中各种编码解码函数的区别和注意事项
Aug 19 Javascript
使用js画图之正弦曲线
Jan 12 Javascript
简述jQuery ajax的执行顺序
Jan 05 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 Javascript
微信小程序本地缓存数据增删改查实例详解
May 24 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
vue+iview写个弹框的示例代码
Dec 05 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
Nov 14 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
JQuery animate动画应用示例
May 14 jQuery
解决elementui表格操作列自适应列宽
Dec 28 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
长波有什么东西
2021/03/01 无线电
PHP开发入门教程之面向对象
2006/12/05 PHP
PHP的单引号和双引号 字符串效率
2009/05/27 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
php Session无效分析资料整理
2016/11/29 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
js 表格隔行颜色
2009/12/02 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
vue实现通讯录功能
2018/07/14 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
python实现图片处理和特征提取详解
2017/11/13 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
python对于requests的封装方法详解
2019/01/03 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
特步官方商城:Xtep
2017/03/21 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
小学生期末评语大全
2014/04/21 职场文书
感恩之星事迹材料
2014/05/03 职场文书
承诺书格式范文
2014/06/03 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
电视新闻稿
2015/07/17 职场文书
2016高考寄语集锦
2015/12/04 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL