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 居中漂浮广告
Mar 21 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
Apr 16 Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 Javascript
js和jQuery设置Opacity半透明 兼容IE6
May 24 Javascript
bootstrap栅格系统示例代码分享
May 22 Javascript
JavaScript中使用import 和require打包后实现原理分析
Mar 07 Javascript
Vuejs开发环境搭建及热更新【推荐】
Sep 07 Javascript
在create-react-app中使用sass的方法示例
Oct 01 Javascript
JavaScript内置对象math,global功能与用法实例分析
Jun 10 Javascript
在vue中使用echars实现上浮与下钻效果
Nov 08 Javascript
Vue退出登录时清空缓存的实现
Nov 12 Javascript
vue实现的封装全局filter并统一管理操作示例
Feb 02 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
2020年4月新番动漫目录 官方宣布4月播出的作品一览
2020/03/08 日漫
谈谈关于php的优点与缺点
2013/04/11 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
JavaScript参数个数可变的函数举例说明
2014/10/10 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
Python循环语句之break与continue的用法
2015/10/14 Python
python下载图片实现方法(超简单)
2017/07/21 Python
Python数据集切分实例
2018/12/08 Python
Python判断是否json是否包含一个key的方法
2018/12/31 Python
使用Python的turtle模块画国旗
2019/09/24 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
Python中的流程控制详解
2021/02/18 Python
本科毕业生的求职信范文
2013/11/20 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
物流业务员岗位职责
2014/02/08 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
学生自我评语
2015/01/04 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
反邪教观后感
2015/06/11 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang