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 相关文章推荐
说明你的Javascript技术很烂的五个原因
Apr 26 Javascript
js Function类型
Dec 04 Javascript
javascript中的window.location.search方法简介
Sep 02 Javascript
jquery+css3打造一款ajax分页插件(自写)
Jun 18 Javascript
30个经典的jQuery代码开发技巧
Dec 15 Javascript
一些实用性较高的js方法
Apr 19 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
Apr 29 Javascript
javascript基础知识讲解
Jan 11 Javascript
jQuery倒计时代码(超简单)
Feb 27 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
Mar 29 Javascript
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
vue2.0实现列表数据增加和删除
Jun 17 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版(2)
2006/10/09 PHP
PHP学习之数组值的操作
2011/04/17 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
采用call方式实现js继承
2014/05/20 Javascript
jqTransform美化表单
2015/10/10 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
pyqt5自定义信号实例解析
2018/01/31 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
C++面试题:关于链表和指针
2013/06/05 面试题
公司董事长职责
2013/12/12 职场文书
教师演讲稿范文
2014/01/08 职场文书
学校卫生检查制度
2014/02/03 职场文书
教师节演讲稿
2014/05/06 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
党支部活动策划方案
2014/08/18 职场文书
文明单位创建材料
2014/12/24 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
大学运动会通讯稿
2015/07/18 职场文书