2011-10-26 97 views
2

目前我在我的網站中使用1.4.4,並考慮升級到最新版本(1.6.4)。根據您的經驗,是否有任何理由不應該替換jquery文件(我將其託管在我的服務器中)。我應該注意哪些事情?將jQuery從1.4.x升級到1.6.x時,我想要做什麼

+0

插件,疑難雜症。但有什麼尖叫'等待!'在1.4.4和1.6.4的所有版本中,肯定需要驗證? – Rodolfo

回答

2

我發現這個博客,涵蓋所有重要的點...

http://davidtong.me/upgrading-jquery-from-1-4-x-to-1-6-1

轉述提示:

  • 你應該檢查每個使用.attr() ...還有很多應該現在是.prop()
  • JSON解析在1.5+中更加嚴格
  • 新的AJAX模塊有很多可以利用的改進。

這應該適用於所有1.4.x - > 1.6.x版本。

你可能也想看看的1.7 release candidate notes爲即將臨近,以及...

+0

美麗,謝謝 – Rodolfo

+0

看起來主要問題是關於attr在1.6版本中的變化,但後來在1.6.1中更加向後兼容。另一個主要變化是關於ajax,但這並沒有影響到我,所以我只是替換了jquery文件,進行了測試,並且不必更改任何內容(就我所能測試的內容而言)。例如,仍然不完全確定attr和prop之間的區別是輸入的「自動完成」屬性還是道具? – Rodolfo

1

可以打破的東西是插件。你應該:

  • 檢查插件兼容性官方指出
  • 仔細測試,它依賴於插件
0

您應該檢查任何插件的兼容性和升級這些升級後徹底測試所有的每個功能。否則,它應該是相當無痛的。

1

查看發佈說明並查看重大更改。看看有沒有這些會影響你的代碼,並從那裏去。

個人而言,我仍然在我的一個項目B/C上使用1.4.2 ajax請求/數據的處理方式發生了一些變化(我不記得具體是什麼),並且它完全打破了很多我的模型綁定等。

+0

是的,我正在閱讀發行說明,但它就像15個版本,想知道是否有人有經驗(像你)的經驗,爲他們打破了我應該尋找的東西。所以阿賈克斯指出。 – Rodolfo

+0

ajax的東西也取決於你在後端使用什麼,我認爲php是可以的,但asp.net mvc 2的模型綁定器真的不喜歡它。 – Patricia

1

在jQuery 1.6中有一些語義修復。

例如,defaultValuechecked等特定屬性一直被認爲是「屬性」,但在過去,jQuery已經將它們作爲「屬性」進行訪問。 jQuery 1.6現在可以正確訪問prop而不是attr的「屬性」。

因此,您可能需要更新使用attr()removeAttr(),酌情prop()removeProp()行代碼。

否則,請檢查每個插件的網站,看看是否有更新並應用它們。然後更新jQuery,看看會發生什麼。你總是可以把它恢復原樣。