如果您處於一個以jQuery 1.7.x開頭的環境,有任何風險運行$.getScript
並加載最新版本的jQuery(1.8。 3)?
它會覆蓋更新的功能是否正確或會有碰撞?
$.getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js')
如果您處於一個以jQuery 1.7.x開頭的環境,有任何風險運行$.getScript
並加載最新版本的jQuery(1.8。 3)?
它會覆蓋更新的功能是否正確或會有碰撞?
$.getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js')
它可能會搞砸你所有的事件綁定,就像如果你包括兩個版本的jQuery正常的方式。
它將是異步的,因此所有其他腳本將在getScript完成之前執行。這對你的插件來說尤其麻煩,因爲它們將自己綁定到jQuery.fn命名空間。新腳本加載後,它會重新創建jquery對象並清除對插件的引用。
你將基本上執行jquery對象的工廠重置。
這就是說,你可能把你的初始化代碼放入getScript回調,但你只能夠使用核心jQuery,而不是你的插件。
$.getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', function() {
console.log("Hi there");
})
如果您沒有任何插件,並且您將所有邏輯放在$ .getScript的成功參數中,那麼在腳本加載後調用該參數呢? –
哈哈,剛發佈並測試過它 –
我想強調一下,這是一個壞主意 –
你可以$ .noConflict jQuery的出了門,這應該清除窗口。$的,然後使用jQuery.getScript最新的jQuery加載到窗口。$。
也許吧?這完全是一個建議,我從來沒有這樣做過。
下面是如何使用noconflict和getScript加入到的情況下,要在已經載入了其他版本的上下文的容器內工作一個包含塊中加載的jQuery/jQueryUI的較新版本。
http://www.ipreferjim.com/2011/06/loading-newer-versions-of-jquery-and-jquery-ui-noconflict/
它可能會搞砸了你的所有事件綁定,就像如果你有兩個版本的jQuery的正常方式(來源:我已經這樣做了) –
@MikeRobinson如果你先做是關於什麼的在你的腳本? –
將我的想法轉移到真正的答案 –