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 相关文章推荐
JavaScript window.document的属性、方法和事件小结
Oct 24 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
May 27 Javascript
javascript垃圾收集机制与内存泄漏详细解析
Nov 11 Javascript
IE中鼠标经过option触发mouseout的解决方法
Jan 29 Javascript
浅谈JS之tagNaem和nodeName
Sep 13 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
p5.js入门教程之小球动画示例代码
Mar 15 Javascript
vue+axios 前端实现的常用拦截的代码示例
Aug 23 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
Sep 18 Javascript
vue中的inject学习教程
Apr 24 Javascript
微信小程序 行的删除和增加操作实现详解
Sep 29 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 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
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
Javascript - HTML的request类
2006/07/15 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
js 加载并解析XML字符串的代码
2009/12/13 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
Angular实现购物车计算示例代码
2017/02/21 Javascript
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
[54:45]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 Optic vs OG
2018/04/02 DOTA
python中cPickle用法例子分享
2014/01/03 Python
Python深入学习之内存管理
2014/08/31 Python
在Django的模型中添加自定义方法的示例
2015/07/21 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
年度献血先进个人事迹材料
2014/02/14 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
法律专业自荐信
2014/06/03 职场文书
课外活动总结
2015/02/04 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书