我敢肯定,这不用说,但理想的更新站点使用一个单一的,向上的最新版本的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