close
最近更新了系統的jQuery從1.7直接跳到1.10.2版,本也沒想太多,結果發現部份插件無法使用,尤其是常跳出"$.browse.msie"這個物件未定義,就想說奇了,上網GOOGLE一下,才發現要注意這個:jQuery Core 1.9 Upgrade Guide
開宗明義就說了:jQuery1.9刪除或修改數個行為不一致或低效的API。它們在以前的jQuery版本中已經標註為過時(deprecated)的API,特別是1.7及1.8。
所以一開頭說的"$.browser.msie"就列在裡面以過時的理由被刪除了!
加場演出 ==>
先說吧,要解決這些不見的物件讓原來的插件照跑,jQuery團隊有提出了解決之道:下載官方的"jquery-migrate.js"插件來使原有的功能正常運作;或在網頁中直接引用......原則上使用未壓縮版的插件,會在瀏覽器的控制台(Console中)顯示不相容及相關的解決說明,而壓縮版則不會顯示。
<script src=”http://code.jquery.com/jquery-1.10.2.js”></script>
<script src=”http://code.jquery.com/jquery-migrate-1.2.1.min.js”></script>
<script src=”http://code.jquery.com/jquery-migrate-1.2.1.min.js”></script>
接著就依據爬文的結果,大約記一下有那些物件被刪或修改的,以免自己又不小心踩到,有空也將系統修改,能不用則不要用了,能改也改一改了....畢竟連官方也希望開發者修改原來不相容的地方,都說在理想的情況下,這只能作為一個短期的解決方案了....
jQuery 1.9 更新(摘要,簡單看看...)
.toggle(function, function, ... ) -->方法移除 ==> 使用 jQuery-Migrate 插件可恢復此功能
jQuery.browser( )-->方法移除==>使用 jQuery-Migrate 插件可恢復此功能
.live( )-->方法移除==>使用 jQuery-Migrate 插件可恢復此功能
.die( )-->方法移除==>使用 jQuery-Migrate 插件可恢復此功能
jQuery.sub())-->方法移除==>使用 jQuery-Migrate 插件可恢復此功能
.add() --> 修改
.addBack( selector ) 取代 .andSelf()
.attr() 及.prop() 的比較 -->參考原文件==>使用 jQuery-Migrate 插件可恢復原有的使用規則
$("input").attr("type", newValue) ==>在舊版的IE下變更"input"元件的"type"屬性
jQuery.ajax -->返回一個空字串的Json結果==>將被視為執行錯誤
未公開的API方法參數-->刪除==>
包括 jQuery.data() , jQuery.removeData() , jQuery.attr() , 等被刪除
其他未收錄在文件公開的屬性及方法: --> 刪除
- jQuery.deletedIds
- jQuery.uuid
- jQuery.attrFn
- jQuery.clean()
- jQuery.event.handle()
- jQuery.offset.bodyOffset()
文章標籤
全站熱搜
留言列表