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 相关文章推荐
Valerio 发布了 Mootools
Sep 23 Javascript
javascript引用对象的方法代码
Aug 13 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
Jan 03 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
JS按回车键实现登录的方法
Aug 25 Javascript
jQuery中prependTo()方法用法实例
Jan 08 Javascript
JavaScript观察者模式(经典)
Dec 09 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
Dec 12 Javascript
JavaScript体验异步更好的解决办法
Jan 08 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
Jan 22 Javascript
基于elementUI实现图片预览组件的示例代码
Mar 31 Javascript
JavaScript 作用域实例分析
Oct 02 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语法自动检查的Vim插件
2014/08/11 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
Vue.use源码分析
2017/04/22 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
微信小程序如何使用canvas二维码保存至手机相册
2019/07/15 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
Python牛刀小试密码爆破
2011/02/03 Python
Python检测QQ在线状态的方法
2015/05/09 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
意大利单身交友网站:Meetic
2020/07/12 全球购物
程序员经常用到的UNIX命令
2015/04/13 面试题
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
揭牌仪式主持词
2014/03/19 职场文书
保护环境的标语
2014/06/09 职场文书
多媒体教室标语
2014/06/26 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
离婚上诉状范文
2015/05/23 职场文书