jQuery 出現(xiàn)Cannot read property ‘msie’ of undefined錯(cuò)誤的解決方法
jQuery Cannot read property ‘msie' of undefined錯(cuò)誤的解決方法
最近把一個(gè)項(xiàng)目的jQuery升級(jí)到最新版,發(fā)現(xiàn)有些頁面報(bào)如下錯(cuò)誤
Cannot read property 'msie' of undefined
上jQuery網(wǎng)站上搜了一下,原因是$.browser這個(gè)api從jQuery1.9開始就正式廢除,js代碼里只要用到$.browser就會(huì)報(bào)這個(gè)錯(cuò)。具體說明參見jQuery官方說明。
樓主順便擴(kuò)展閱讀了一下,發(fā)現(xiàn)jQuery 1.9把所有在之前版本里標(biāo)記為deprecated的api都正式刪除了,徹底不再向后兼容。對于升級(jí)到最新jQuery的童鞋而言,這意味著得花費(fèi)一些額外的時(shí)間把代碼升級(jí)使用新的api,或者自己另外實(shí)現(xiàn)這些被刪除的方法。幸運(yùn)的是,jQuery團(tuán)隊(duì)意識(shí)到了這個(gè)break change帶來的種種不便,推出了一個(gè)叫jQuery Migrate插件,用于能夠自動(dòng)恢復(fù)那些在最新版本里被廢棄的API。只要引用了這個(gè)插件,已有的js代碼無須改動(dòng)就能和最新的jQuery庫一起正常運(yùn)行。
下面是具體的解決方法,首先要下載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的解決方法雖然簡單無腦,但是會(huì)導(dǎo)致增加一個(gè)額外的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;}})();
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- jquery $(document).ready() 與window.onload的區(qū)別
- jquery JSON的解析方式
- jQuery.Autocomplete實(shí)現(xiàn)自動(dòng)完成功能(詳解)
- JQuery中each()的使用方法說明
- 12款經(jīng)典的白富美型—jquery圖片輪播插件—前端開發(fā)必備
- jquery 如何動(dòng)態(tài)添加、刪除class樣式方法介紹
- JQuery觸發(fā)radio或checkbox的change事件
- jquery ajax提交表單數(shù)據(jù)的兩種方式
- jquery中獲取id值方法小結(jié)
- jQuery EasyUI API 中文文檔 - ComboBox組合框
- jquery validate.js表單驗(yàn)證的基本用法入門
相關(guān)文章
基于jQuery實(shí)現(xiàn)美觀且實(shí)用的倒計(jì)時(shí)實(shí)例代碼
倒計(jì)時(shí)效果在我們的日常生活中經(jīng)常會(huì)用到,比如說高考倒計(jì)時(shí)、元旦放假倒計(jì)時(shí)、春節(jié)放假倒計(jì)時(shí)等等,下面通過本篇文章給大家分享基于jQuery實(shí)現(xiàn)美觀且實(shí)用的倒計(jì)時(shí)實(shí)例代碼,對jquery倒計(jì)時(shí)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12jQuery validate(submitHandler函數(shù))驗(yàn)證通過發(fā)送Ajax(實(shí)例詳解)
這篇文章主要介紹了jQuery validate(submitHandler函數(shù))驗(yàn)證通過發(fā)送Ajax,可以用validate框架驗(yàn)證元素,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2022-10-10jQuery綁定事件-多種實(shí)現(xiàn)方式總結(jié)
下面小編就為大家?guī)硪黄猨Query綁定事件-多種實(shí)現(xiàn)方式總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-05-05JQuery與iframe交互實(shí)現(xiàn)代碼
JQuery與iframe交互實(shí)現(xiàn)代碼2009-12-12jQuery模擬12306城市選擇框功能簡單實(shí)現(xiàn)方法示例
這篇文章主要介紹了jQuery模擬12306城市選擇框功能簡單實(shí)現(xiàn)方法,涉及jQuery事件響應(yīng)及頁面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08jQuery解析json數(shù)據(jù)實(shí)例分析
這篇文章主要介紹了jQuery解析json數(shù)據(jù)的具體實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了jQuery解析json格式數(shù)據(jù)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11jquery Mobile入門—多頁面切換示例學(xué)習(xí)
在JQuery Mobile中,多個(gè)頁面的切換是通過<a>元素、并將<href>屬性設(shè)置為#+對應(yīng)的id號(hào)的方式進(jìn)行的2013-01-01