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判断浏览器是否是IE的比较好的办法
May 08 Javascript
自己动手制作jquery插件之自动添加删除行的实现
Oct 13 Javascript
js 弹出框只弹一次(二次修改之后的)
Nov 26 Javascript
js的隐含参数(arguments,callee,caller)使用方法
Jan 28 Javascript
Javascript与jQuery方法的隐藏与显示
Jan 19 Javascript
jQuery插件scroll实现无缝滚动效果
Apr 27 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
Aug 27 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 Javascript
详解vue-validator(vue验证器)
Jan 16 Javascript
Bootstrap Table 搜索框和查询功能
Nov 30 Javascript
javascript实现导航栏分页效果
Jun 27 Javascript
介绍一下28个JS常用数组方法
May 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
javascript 节点排序 2
2011/01/31 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
2015/12/01 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
vue webpack打包后图片路径错误的完美解决方法
2018/12/07 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
python类的方法属性与方法属性的动态绑定代码详解
2017/12/27 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
Python函数返回不定数量的值方法
2019/01/22 Python
python 两种方法删除空文件夹
2020/09/29 Python
python try...finally...的实现方法
2020/11/25 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
综治宣传月活动总结
2014/04/28 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书