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 相关文章推荐
IE与Firefox下javascript getyear年份的兼容性写法
Dec 20 Javascript
js用图作提交按钮或超连接
Mar 26 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
Nov 25 Javascript
jquery $.ajax相关用法分享
Mar 16 Javascript
js实现背景图片感应鼠标变化的方法
Feb 28 Javascript
swtich/if...else的替代语句
Aug 16 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
Aug 26 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
Jun 24 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
Sep 25 Javascript
vue路由教程之静态路由
Sep 03 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模板之Phpbean的目录结构
2008/01/10 PHP
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
纯文字版返回顶端的js代码
2013/08/01 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
基于Cesium绘制抛物弧线
2020/11/18 Javascript
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
Python向MySQL批量插数据的实例讲解
2018/03/31 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
日期和时间问题
2015/01/04 面试题
幼儿园大班教学反思
2014/02/10 职场文书
个人委托书格式
2014/04/04 职场文书
学前班语言教学计划
2015/01/20 职场文书
先进教师个人总结
2015/02/11 职场文书
90后经典动画片排行:《数码宝贝》第二,《小鲤鱼历险记》在榜
2022/03/18 日漫
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL