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>
 
接著就依據爬文的結果,大約記一下有那些物件被刪或修改的,以免自己又不小心踩到,有空也將系統修改,能不用則不要用了,能改也改一改了....畢竟連官方也希望開發者修改原來不相容的地方,都說在理想的情況下,這只能作為一個短期的解決方案了....
 

 
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()

 

arrow
arrow

    割~LZ 發表在 痞客邦 留言(0) 人氣()