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 相关文章推荐
客户端脚本中常常出现的一些问题和调试技巧
Jan 09 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
简单讲解AngularJS的Routing路由的定义与使用
Mar 05 Javascript
Sort()函数的多种用法
Mar 20 Javascript
Angular 4.x 路由快速入门学习
May 03 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
Aug 07 Javascript
js实现简单数字变动效果
Nov 06 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
Dec 25 Javascript
element-ui 表格数据时间格式化的方法
Aug 24 Javascript
浅谈一种让小程序支持JSX语法的新思路
Jun 16 Javascript
JS函数基本定义与用法示例
Jan 15 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
vue axios请求超时的正确处理方法
2018/04/02 Javascript
搭建vue开发环境
2018/07/19 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
Python中处理时间的几种方法小结
2015/04/09 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
python爬虫要用到的库总结
2020/07/28 Python
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
找工作最新求职信
2013/12/22 职场文书
车间副主任岗位职责
2013/12/24 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
社区活动策划方案
2014/08/21 职场文书
分居协议书范本
2014/11/03 职场文书
旗帜观后感
2015/06/08 职场文书
公司董事任命书
2015/09/21 职场文书
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python