我敢肯定,這不用說,但理想的更新站點使用一個單一的,向上的最新版本的jQuery,這使得這個問題消失。
但是,您的問題的答案是否定的,您至少不能複製它們 —,而不是使用正確編寫的插件。一個正確設計的插件的高級結構是沿着這些路線:
(function($) {
// Do things with $ here, such as registering a plugin function:
$.fn.thePlugin = function() {
// ...and presumably here as well...
};
})(jQuery);
這意味着插件有將jQuery的版本控制的jQuery
符號加載插件時的參考。
後來,加載不同版本的jQuery後,你可能會做到這一點:
jQuery.fn.thePlugin = oldJQuery.fn.thePlugin;
...但你不得不jQuery的版本之間可怕的串擾:該插件會由較新的jQuery調用,但在做它的事情時使用較舊的jQuery。
現在,正好與我的greenPlugin
上述
所以,直到你可以清理東西,你必須複製你的插件加載:
<script src="jquery-1.7.1.js"></script>
<script src="this-plugin.js"></script>
<script src="that-plugin.js"></script>
<script src="the-other-plugin.js"></script>
<script>
var jq171 = jQuery.noConflict(); // With or without `true`
</script>
<script src="jquery-1.9.1.js"></script>
<script src="this-plugin.js"></script>
<script src="that-plugin.js"></script>
<script src="the-other-plugin.js"></script>
...這顯然是醜陋。 :-)但是腳本至少會第二次來自緩存。它意味着的jQuery的訪問和版本通過jq171
通過jQuery
/$
的一個訪問都有三個插件。
你真的需要顯示'.noConflict()'語句,如果你要顯示的jQuery的兩個版本的加載。 – jfriend00
@ jfriend00:從技術上講,他們不是必需的例子,但是,我可能應該。 *編輯:*所以我有。 :-) –
謝謝您的信息。我只是實現了文件捆綁,我不想處理拆分包,所以我只是想升級並希望獲得最好的結果。有什麼地方可以找到可能的升級衝突嗎? – Marie