jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法


Posted in Javascript onNovember 23, 2016

jQuery Cannot read property ‘msie' of undefined错误的解决方法

最近把一个项目的jQuery升级到最新版,发现有些页面报如下错误

Cannot read property 'msie' of undefined

上jQuery网站上搜了一下,原因是$.browser这个api从jQuery1.9开始就正式废除,js代码里只要用到$.browser就会报这个错。具体说明参见jQuery官方说明。

楼主顺便扩展阅读了一下,发现jQuery 1.9把所有在之前版本里标记为deprecated的api都正式删除了,彻底不再向后兼容。对于升级到最新jQuery的童鞋而言,这意味着得花费一些额外的时间把代码升级使用新的api,或者自己另外实现这些被删除的方法。幸运的是,jQuery团队意识到了这个break change带来的种种不便,推出了一个叫jQuery Migrate插件,用于能够自动恢复那些在最新版本里被废弃的API。只要引用了这个插件,已有的js代码无须改动就能和最新的jQuery库一起正常运行。

下面是具体的解决方法,首先要下载jQuery Migrate插件,然后在引用jQuery js的地方之后加上对jQuery Migrate js文件的引用即可。

<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>

用jQuery Migrate的解决方法虽然简单无脑,但是会导致增加一个额外的js库。对于不喜欢增加额外js库的童鞋,可以参考这篇博客提到的另外一种解决方法,请注意下面代码加载位置为:jQuery文件之后,$.browser的代码之前。

jQuery.browser={};(function(){jQuery.browser.msie=false; jQuery.browser.version=0;if(navigator.userAgent.match(/MSIE ([0-9]+)./)){ jQuery.browser.msie=true;jQuery.browser.version=RegExp.$1;}})();

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
JS获取scrollHeight问题想到的标准问题
May 27 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
Oct 29 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
使用mouse事件实现简单的鼠标经过特效
Jan 30 Javascript
浅析AngularJS Filter用法
Dec 28 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
Dec 06 Javascript
vue-cli配置文件——config篇
Jan 04 Javascript
在vscode中统一vue编码风格的方法
Feb 22 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
node解析修改nginx配置文件操作实例分析
Nov 06 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 #Javascript
JS实现的相册图片左右滚动完整实例
Nov 23 #Javascript
jQuery-mobile事件监听与用法详解
Nov 23 #Javascript
jquery-mobile表单的创建方法详解
Nov 23 #Javascript
js获取当前时间(昨天、今天、明天)
Nov 23 #Javascript
浅析Node.js:DNS模块的使用
Nov 23 #Javascript
jquery-mobile基础属性与用法详解
Nov 23 #Javascript
You might like
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
js substr、substring和slice使用说明小记
2011/09/15 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
python实现ID3决策树算法
2017/12/20 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Django发送邮件功能实例详解
2019/09/02 Python
在vscode中配置python环境过程解析
2019/09/28 Python
python生成任意频率正弦波方式
2020/02/25 Python
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
安全资料员岗位职责
2013/12/14 职场文书
迷你西餐厅创业计划书范文
2013/12/31 职场文书
食品安全演讲稿
2014/09/01 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
MySQL数据库 安全管理
2022/05/06 MySQL