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自带函数备忘 数组
Dec 29 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
May 04 Javascript
javascript字符串拼接的效率问题
Dec 25 Javascript
JQuery设置文本框和密码框得到焦点时的样式
Aug 30 Javascript
Js参数值中含有单引号或双引号问题的解决方法
Nov 06 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
Nov 12 Javascript
jQuery插件ContextMenu自定义图标
Mar 15 Javascript
Webpack如何引入bootstrap的方法
Jun 17 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
May 05 Javascript
extjs图形绘制之饼图实现方法分析
Mar 06 Javascript
QT与javascript交互数据的实现
May 26 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
php中memcache 基本操作实例
2015/05/17 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
微信小程序可滑动月日历组件使用详解
2019/10/21 Javascript
vue实现购物车的监听
2020/04/20 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
python基础教程之类class定义使用方法
2014/02/20 Python
Python 函数返回值的示例代码
2019/03/11 Python
python sqlite的Row对象操作示例
2019/09/11 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
实习鉴定范文
2013/12/19 职场文书
培训演讲稿范文
2014/01/12 职场文书
高一物理教学反思
2014/01/24 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
大四毕业生自荐书
2014/07/05 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
考研经验交流会策划书
2015/11/02 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
vue3中provide && inject的使用
2021/07/01 Vue.js