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 调用本地exe的例子(支持IE内核的浏览器)
Dec 26 Javascript
jQuery中has()方法用法实例
Jan 06 Javascript
纯js实现仿QQ邮箱弹出确认框
Apr 29 Javascript
jquery实现简单的自动播放幻灯片效果
Jun 13 Javascript
javascript创建动态表单的方法
Jul 25 Javascript
跟我学习javascript解决异步编程异常方案
Nov 23 Javascript
微信小程序 自己制作小组件实例详解
Dec 22 Javascript
Angularjs 与 bower安装和使用详解
May 11 Javascript
vue下history模式刷新后404错误解决方法
Aug 18 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
Dec 24 Javascript
ES6 如何改变JS内置行为的代理与反射
Feb 11 Javascript
javascript判断一个变量是数组还是对象
Apr 10 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
4种PHP异步执行的常用方式
2015/12/24 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
php-fpm中max_children的配置
2019/03/15 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
javascript 动态参数判空操作
2008/12/22 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
js实现登录拖拽窗口
2020/02/10 Javascript
Python实现队列的方法
2015/05/26 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
化工专业个人的求职信范文
2013/11/28 职场文书
家长会学生演讲稿
2014/04/26 职场文书
员工安全承诺书
2014/05/22 职场文书
先进个人事迹材料
2014/12/29 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
初中教师个人工作总结
2015/02/10 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
Spring Boot 实现敏感词及特殊字符过滤处理
2021/06/29 Java/Android
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL
mysql序号rownum行号实现方式
2022/12/24 MySQL