2013-07-11 39 views
0

我有各種各樣的網頁,其中包含不同版本的jQuery,從1.4.2向上(是的,我知道,這是一團糟)。我想在這些頁面上使用jQuery驗證插件,但它需要jQuery 1.6.4+。檢查jQuery版本並加載較新的版本

我知道我可以檢查jQuery加載的版本,然後在必要時加載更新的版本,但我不確定如何單獨引用它們,因此網站上預先存在的JavaScript/jQuery代碼仍然可以使用$(因爲我知道這很快樂,我不想打破它),然後新的插件可以使用其他的東西?

任何幫助或建議更好的方式來做到這一點將不勝感激。謝謝。

+1

似乎有點危險隨時更換jQuery版本......如果新版本破壞依賴於舊版本的代碼,該怎麼辦? – tymeJV

+2

「,然後根據需要加載更新的版本」 - 不要這樣做。只有一個jQuery應該加載,或準備期待意外...在qa/staging區域中測試新​​的jQuery,然後在所有內容都可以工作時切換。如果你有一個JS測試套件,那對你更好。 – PinnyM

+1

我不會推薦這麼做。您應該使用所有主要內容對所有頁面都相同的佈局。或者使用頭文件。 – sdespont

回答

2

糟糕的主意,做你在做什麼。

如果你真的堅持有不同的jQuery版本,你可以隨時寫一些腳本管理器。基本上你可以在你的頁面的「配置」中指定在這個頁面上需要什麼jQuery版本,並且管理器會加載相應的jquery版本。

喜歡的東西:

// each page content before everything else 
Manager.reguire("plugin 1", "1.4.7"); 
Manager.require("plugin 2", "1.4.4"); 


// Main layout <head section> 
Manager.LoadRequiredVersions(); 

和經理也只是要求文件給你,但不要忘了,你可能需要做一些聰明的沒有衝突的東西用jQuery,如果你想不止一個在一個頁面上。 https://stackoverflow.com/a/1566644/486780

如果每個頁面只有一個版本,那麼經理將是最簡單的選擇。

0
  • jQuery的負載(版本1)
    • $和jQuery的原始版本屬於版本1
  • jQuery的負載(Verion2)
    • 現在$和jQuery屬於版本2的第二個版本,以及屬於版本1的_ $和_jQuery
  • 將Version2版本分配給av AR($ V2 = jQuery.noConflict(真);)
    • 現在$和jQuery屬於版本1,_ $和_jQuery可能是空的,$ v2是版本2