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立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
Nov 18 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
Jul 11 Javascript
基于jQuery实现左侧菜单栏可折叠功能
Dec 27 Javascript
JS小数转换为整数的方法分析
Jan 07 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 Javascript
Angular4学习笔记之实现绑定和分包
Aug 01 Javascript
JS库之ParticlesJS使用简介
Sep 12 Javascript
vscode 开发Vue项目的方法步骤
Nov 25 Javascript
js中async函数结合promise的小案例浅析
Apr 14 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
在Uni中使用Vue的EventBus总线机制操作
Jul 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
第三节--定义一个类
2006/11/16 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
YII框架常用技巧总结
2019/04/27 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
js省市区级联查询(插件版&amp;无插件版)
2017/03/21 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
AngularJS上传文件的示例代码
2018/11/10 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
Python科学计算环境推荐——Anaconda
2014/06/30 Python
python基础教程之对象和类的实际运用
2014/08/29 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
SOKOLOV官网:俄罗斯珠宝首饰品牌
2021/01/02 全球购物
励志演讲稿800字
2014/08/21 职场文书
党员个人承诺书
2015/04/27 职场文书