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工具_Form 封装
Aug 21 Javascript
JS调用页面表格导出excel示例代码
Mar 18 Javascript
JavaScript将数字转换成大写中文的方法
Mar 23 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
Apr 12 Javascript
javascript中一些util方法汇总
Jun 10 Javascript
JS之相等操作符详解
Sep 13 Javascript
js控制按钮,防止频繁点击响应的实例
Feb 15 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
Feb 20 Javascript
Node.js学习之地址解析模块URL的使用详解
Sep 28 Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 Javascript
vue.js实现简单购物车功能
May 30 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 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
删除无限级目录与文件代码共享
2006/07/12 PHP
PHP制作图型计数器的例子
2006/10/09 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
python中readline判断文件读取结束的方法
2014/11/08 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
scrapy爬虫完整实例
2018/01/25 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
Python列表如何更新值
2020/05/27 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
音乐系毕业生自荐信
2013/10/27 职场文书
工作人员思想汇报
2014/01/09 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
环保建议书100字
2014/05/14 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
go语言求任意类型切片的长度操作
2021/04/26 Golang