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 相关文章推荐
Web Inspector:关于在 Sublime Text 中调试Js的介绍
Apr 18 Javascript
javascript读写json示例
Apr 11 Javascript
javascript弹性运动效果简单实现方法
Jan 08 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
Apr 19 Javascript
微信小程序实现登录页云层漂浮的动画效果
May 05 Javascript
微信小程序实现banner图轮播效果
Jun 28 Javascript
详解webpack4.x之搭建前端开发环境
Mar 28 Javascript
vue 开发之路由配置方法详解
Dec 02 Javascript
JavaScript实现拖拽盒子效果
Feb 06 Javascript
学前端,css与javascript重难点浅析
Jun 11 Javascript
如何利用JavaScript编写一个格斗小游戏
Jan 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实现获取图片颜色值的方法
2014/07/11 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
node中的session的具体使用
2018/09/14 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
2019/09/28 Javascript
Vue分页插件的前后端配置与使用
2019/10/09 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
Vue仿百度搜索功能
2020/12/28 Vue.js
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
Python函数式编程
2017/07/20 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
static函数与普通函数有什么区别
2015/12/25 面试题
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
经典优秀个人求职自荐信格式
2013/09/25 职场文书
军训自我鉴定
2013/12/14 职场文书
诚信考试倡议书
2014/04/15 职场文书
演讲稿格式
2014/04/30 职场文书
安全教育月活动总结
2014/05/05 职场文书
产品推广策划方案
2014/05/10 职场文书
七年级地理教学计划
2015/01/22 职场文书
销售经理岗位职责
2015/01/31 职场文书
同意落户证明
2015/06/19 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书