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 相关文章推荐
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
Mar 25 Javascript
jquery简单的拖动效果实现原理及示例
Jul 26 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
May 21 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
Angularjs 创建可复用组件实例代码
Oct 09 Javascript
微信小程序 配置文件详细介绍
Dec 14 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 Javascript
angularjs实现的购物金额计算工具示例
May 08 Javascript
jQuery操作动画完整实例分析
Jan 10 jQuery
vue+elementui实现点击table中的单元格触发事件--弹框
Jul 18 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 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接收shell返回的结果中文乱码问题
2014/01/23 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
南京某软件公司的.net面试题
2015/11/30 面试题
2014年建筑工程工作总结
2014/12/03 职场文书
长城导游词400字
2015/01/30 职场文书
微信搭讪开场白
2015/05/28 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python