2011-04-26 75 views
0

我已經知道如何使用jQuery.noConflict()方法使用jQuery的兩個版本。但是我真的想知道如果有可能build jQuery JavaScript源文件沒有使用jQuery或者$變量名。有可能使用兩個版本的jQuery而不使用jQuery.noConflict?

我想知道如果我可以這樣做:

<html> 
    <head> 
    <!-- This will set the variables: jQuery and $ --> 
    <script type="text/javascript" src="jquery-1.1.js"></script> 
    <!-- I would like to this next version do not use the variables: jquery and $ at all --> 
    <script type="text/javascript" src="jquery-1.5.js"></script> 
    </head> 
</html> 

,我現在面臨的問題是,我們是(我們的開發團隊)使用Liferay,它配備了一箇舊版本的jQuery ,並且我無法控制使用jQuery.conflict,,所以我想知道是否可以使用與jQuery不同的名稱構建jQuery版本。

在此先感謝。

回答

2

沒有我所知道的。您正在處理版本問題。最好的辦法是找到舊庫的依賴關係並更新它們。展望未來,您會仔細地對軟件進行版本以避免這種情況。

你建議的解決方案,如果它可以工作,不會的話,無論如何你都會在後面咬你,因爲你會達到1.5的標準,人們再次使用$。只有你今天寫的代碼不會有$,你需要再次提前1.6或1.7版本或其他任何版本。那麼你最終會得到1美元的1.1%等。哎呀!

+0

你是正確的...這將最終「後來咬我的後面」 ......在無論如何,我想聽聽你的意見,並知道是否有解決方案。但正如你所說,解決方案將是更進一步的問題。謝謝! – 2011-04-26 14:59:53

0

我不明白。您可以如何爲您的其他版本使用與jQuery不同的名稱,但不添加.noConflict代碼行?你要把一個新的1.5.js文件交給對方?而就在該文件的底部拋出此:

var $newNameSpaceHere = jQuery.noConflict();

變化$newNameSpaceHere,無論你使用的是1.5

+0

我已經想到了,但除了變量名稱空間之外,jQuery庫在內部使用名稱'jQuery'來存儲使用'jQuery.data()'的數據,因此它可能會與舊版本崩潰。但我很高興聽到你的意見,你可以證實,這似乎是不可能的。謝謝@蠟筆小新! – 2011-04-26 15:02:17

相關問題