2011-10-18 55 views
1

這似乎是一個這樣一個荒謬的問題,但我們的Intranet門戶網站承載了數百個由各種開發人員編寫的單獨模塊,它仍在運行jQuery 1.2.6。我想升級,但我已經知道這將是一場噩夢,我無法從1.2.6到1.6的每個版本之間找到任何明確的兼容性問題來源。jQuery 1.2.6 - > 1.6:可能性?

沒有人有任何時間,或者我只是將它切換出來,並開始修復錯誤,並提醒開發人員,當他們的模塊中斷?

編輯:包括兩個版本的jQuery試圖從舊版本轉換到新版本呢?也許使用$和$$或其他影響?閱讀這些評論,使我想忘記整個事情,因爲有太多我不支持的代碼,我只是支持門戶本身,告訴開發人員我們正在運行的是什麼版本的jQuery。

+0

我有一個很大的問題1.3-> 1.5,使用.live()語法着名,什麼傳遞給函數以什麼順序。我最終對舊應用程序進行了沙盒處理,並使用1.5來推廣新代碼(並且更新更加規則,以避免將來出現這種情況)。 –

+0

這是一個很好的問題,絕對是您願意升級的非常好的舉措,但恐怕提供一個確鑿的答案將是困難的。如果您使用的是依賴關係的jQuery插件,則可能需要升級這些插件。確實在1.2和1.6之間差距很大。上次我做到這一點,我有幾個深夜呼叫一些破碎的功能:-)祝你好運。 –

+0

我不能給你一個清單,但我最近從1.3升級到1.6,最小問題。我認爲它值得嘗試升級,看看有多少壞了,你總是可以扭轉它。所有的公共API仍然應該是完好的,給我的問題是擴展/插件需要小的重構。 – wazz3r

回答

3

首先,你爲什麼要升級?

假定您想訪問更新的功能。舊的代碼不會使用這些,那麼爲什麼不從現在開始使用更新的版本呢?

你想要提升性能嗎?你有沒有你認識的代碼可以從改進中受益?一旦你明白了這一點,只需在一晚(或者理想的情況是在你的測試服務器上,但問題意味着你沒有一個!)做這件事,然後看看會發生什麼事情。我懷疑唯一的問題將是使用attr應該使用prop的東西 - 我已經有一些舊版腳本使用舊行爲attr的問題。

+0

爲了補充說明,由於在1.3版本中換成了sizzle引擎,也會出現一些選擇器的問題,您使用的任何第三方插件都需要更新或替換,jquery ui需要更新,而您可能需要重新評估一些選擇器的性能,因爲在1.2和1.6之間出現了很多性能變化(並且很快會達到1.7) –

+0

理想的情況是能夠以每個區域爲基礎進行更新,所以您不必一次重新執行整個應用程序。 –

+1

當然,我們有一個測試服務器,但是我仍然有30多個開發人員在處理時間線上的項目,所以簡單地將jquery切換到它們不是我能做的事情。我明顯對附加功能和性能改進感興趣。如果沒有同時包含這兩個版本,我從現在開始沒有辦法讓我使用1.6,因爲門戶網站包含jquery,而不是每個開發人員。 – Brad