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下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
Dec 31 Javascript
JavaScript事件 &quot;事件对象&quot;的注意要点
Jan 14 Javascript
基于jQuery实现动态搜索显示功能
May 05 Javascript
深入分析node.js的异步API和其局限性
Sep 05 Javascript
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
使用html+js+css 实现页面轮播图效果(实例讲解)
Sep 21 Javascript
JS实现按钮添加背景音乐示例代码
Oct 17 Javascript
详解vue项目首页加载速度优化
Oct 18 Javascript
vue下的@change事件的实现
Oct 25 Javascript
如何检测JavaScript中的死循环示例详解
Aug 30 Javascript
解决pycharm双击但是无法打开的情况
Oct 31 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的sso单点登录实现方法
2015/01/08 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
2016/08/05 Javascript
vue列表单项展开收缩功能之this.$refs的详解
2019/05/05 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
Python实现的检测网站挂马程序
2014/11/30 Python
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
Python中的__slots__示例详解
2017/07/06 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
python编写简单端口扫描器
2019/09/04 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
市场营销专业毕业生自荐信
2013/11/02 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
2014年城管工作总结
2014/11/20 职场文书
管理失职检讨书
2015/05/05 职场文书
公司备用金管理制度
2015/08/04 职场文书