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 相关文章推荐
一段利用WSH修改和查看IP配置的代码
May 11 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
Sep 10 Javascript
js style动态设置table高度
Oct 21 Javascript
原生js和jQuery随意改变div属性style的名称和值
Oct 22 Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
Mar 07 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
Jun 11 Javascript
对vue中methods互相调用的方法详解
Aug 30 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
jQuery中getJSON跨域原理的深入讲解
Sep 02 jQuery
uni-app使用countdown插件实现倒计时
Nov 01 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 Vue.js
移动开发之自适应手机屏幕宽度
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菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
2015/08/28 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
python实现二分查找算法
2017/09/21 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
Python WEB应用部署的实现方法
2019/01/02 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
python定时按日期备份MySQL数据并压缩
2019/04/19 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
PageFactory设计模式基于python实现
2020/04/14 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
汉语言文学毕业生求职信
2013/10/01 职场文书
产品促销活动策划书
2014/01/15 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
个人汇报材料范文
2014/12/30 职场文书
2015员工年度考核评语
2015/03/25 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
安全伴我行主题班会
2015/08/13 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript
用Python selenium实现淘宝抢单机器人
2021/06/18 Python
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js