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 相关文章推荐
js的event详解。
Sep 06 Javascript
在Javascript中定义对象类别
Dec 22 Javascript
Ruffy javascript 学习笔记
Nov 30 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
Aug 28 Javascript
详解React native fetch遇到的坑
Aug 30 Javascript
vue+springboot实现项目的CORS跨域请求
Sep 05 Javascript
微信小程序文章详情页面实现代码
Sep 10 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
Oct 08 Javascript
Vue组件之高德地图地址选择功能的实例代码
Jun 21 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
php全排列递归算法代码
2012/10/09 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
php汉字转拼音的示例
2014/02/27 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
JS判断对象是否存在的10种方法总结
2013/12/23 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
2014/01/09 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
window.onload使用指南
2015/09/13 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
vue2.0与bootstrap3实现列表分页效果
2017/11/28 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python中关于for循环的碎碎念
2017/06/30 Python
Python 函数返回值的示例代码
2019/03/11 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
ECOSUSI官网:女式皮革背包
2019/09/27 全球购物
银行实习生的自我评价
2013/12/09 职场文书
党章学习思想汇报
2014/01/14 职场文书
汽车促销活动方案
2014/03/31 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
教师节主题班会方案
2015/08/17 职场文书
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技
讨论nginx location 顺序问题
2022/05/30 Servers
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers