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获取url中&quot;?&quot;后面的字串方法
May 15 Javascript
JavaScript 函数的执行过程
May 09 Javascript
JavaScript基于对象去除数组重复项的方法
Oct 09 Javascript
JS中substring与substr的用法
Nov 16 Javascript
Bootstrap和Java分页实例第一篇
Dec 23 Javascript
angular-ngSanitize模块-$sanitize服务详解
Jun 13 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
Sep 04 Javascript
详解使用React全家桶搭建一个后台管理系统
Nov 04 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
Nov 14 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 Javascript
Promise静态四兄弟实现示例详解
Jul 07 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
基于xcache的配置与使用详解
2013/06/18 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
[00:32]2018DOTA2亚洲邀请赛iG出场
2018/04/03 DOTA
Python机器学习之SVM支持向量机
2017/12/27 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
Python创建数字列表的示例
2019/11/28 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
毕业生找工作的自我评价
2013/10/18 职场文书
高一学生评语大全
2014/04/25 职场文书
拉歌口号大全
2014/06/13 职场文书
技术经济专业求职信
2014/09/03 职场文书
法人委托书的范本格式
2014/09/11 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
思想道德自我评价2015
2015/03/09 职场文书
房地产项目合作意向书
2015/05/08 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
导游词之峨眉山
2019/12/16 职场文书