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 控制弹出窗口
Apr 10 Javascript
js如何实现设计模式中的模板方法
Jul 23 Javascript
js利用prototype调用Array的slice方法示例
Jun 09 Javascript
js实现点击左右按钮轮播图片效果实例
Jan 29 Javascript
jQuery中判断对象是否存在的方法汇总
Feb 24 Javascript
jQuery实现内容定时切换效果完整实例
Apr 06 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
Feb 22 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
Feb 28 Javascript
JS实现判断数组是否包含某个元素示例
May 24 Javascript
node.js中 redis 的安装和基本操作示例
Feb 10 Javascript
vue实现拖拽交换位置
Apr 07 Vue.js
什么是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 截取字符串专题集合
2010/08/19 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
2015/10/29 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
Python中DJANGO简单测试实例
2015/05/11 Python
Python NumPy库安装使用笔记
2015/05/18 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
Django 路由控制的实现代码
2018/11/08 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
Python中的延迟绑定原理详解
2019/10/11 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
决心书标准格式
2014/03/11 职场文书
公司副总经理任命书
2014/06/05 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
师范生教育见习总结
2015/06/23 职场文书
初三语文教学反思
2016/03/03 职场文书