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中的私有/静态属性介绍
Jul 26 Javascript
jQuery动画animate方法使用介绍
May 06 Javascript
jQuery之自动完成组件的深入解析
Jun 19 Javascript
jQuery 获取和设置select下拉框的值实现代码
Nov 08 Javascript
js 时间格式与时间戳的相互转换示例代码
Dec 25 Javascript
Javascript高级技巧分享
Feb 25 Javascript
javascript数组操作方法小结和3个属性详细介绍
Jul 05 Javascript
jQuery的remove()方法使用详解
Aug 11 Javascript
JS for循环中i++ 和 ++i的区别介绍
Jul 20 Javascript
vue-resourse将json数据输出实例
Mar 08 Javascript
微信小程序获取当前时间及星期几的实例代码
Sep 20 Javascript
vue项目查看vue版本及cli版本的实现方式
Oct 24 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
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
通过身份证号得到出生日期和性别的js代码
2009/11/23 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
JavaScript中字面量与函数的基本使用知识
2015/10/20 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
javascript实现遮罩层动态效果实例
2019/05/14 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
跟老齐学Python之从格式化表达式到方法
2014/09/28 Python
python处理按钮消息的实例详解
2017/07/11 Python
python模拟实现斗地主发牌
2020/01/07 Python
django中related_name的用法说明
2020/05/20 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
本科毕业生专业自荐书范文
2014/02/05 职场文书
产假请假条
2014/04/10 职场文书
2014年教研组工作总结
2014/11/26 职场文书
离婚协议书范文2016
2016/03/18 职场文书
深入理解 Golang 的字符串
2022/05/04 Golang