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 相关文章推荐
window.onload 加载完毕的问题及解决方案(上)
Jul 09 Javascript
javaScript 数值型和字符串型之间的转换
Jul 25 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
Jun 27 Javascript
Node.js实现的简易网页抓取功能示例
Dec 05 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
JS模拟并美化的表单控件完整实例
Aug 19 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
基于JavaScript代码实现pc与手机之间的跳转
Dec 23 Javascript
JavaScript九九乘法口诀表的简单实现
Oct 04 Javascript
使用百度地图实现地图网格的示例
Feb 06 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
swiper4实现移动端导航栏tab滑动切换
Oct 16 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
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
php jsonp单引号转义
2014/11/23 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php浏览历史记录的方法
2015/03/10 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
Python中logging.NullHandler 的使用教程
2018/11/29 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
python3将变量输入的简单实例
2020/08/19 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
请解释接口的显式实现有什么意义
2012/05/26 面试题
办公室助理岗位职责
2013/12/25 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
元旦晚会开场白
2015/05/29 职场文书
学雷锋感言
2015/08/03 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
Java后台生成图片的完整步骤
2021/08/04 Java/Android
Ruby处理CSV数据方法详解
2022/04/18 Ruby