Ответ 1
Вы можете обернуть плагины в анонимную функцию и вызвать их с конкретной версией jquery.
Пример:
<script src="jquery-1.3.js"></script>
<script>
$jq13 = jQuery.noConflict(true);
</script>
<script src="jquery-1.4.js"></script>
<script>
$jq14 = jQuery.noConflict(true);
</script>
<script>
(function($){
// All references to $ in this block will refer to $jq14
// Put plugins inline here
})($jq14);
</script>
Хорошо написанные плагины уже будут записаны таким образом, поэтому вы можете просто изменить последнюю строку, чтобы установить, какой объект jquery использовать.
Или вы можете изменить window.jquery перед вызовом каждого плагина. Вот так:
<script src="jquery-1.3.js"></script>
<script>
$jq13 = jQuery.noConflict(true);
</script>
<script src="jquery-1.4.js"></script>
<script>
$jq14 = jQuery.noConflict(true);
</script>
<script>
window.jQuery = $jq14;
</script>
<script src="some_plugin.js"></script>
<script>
window.jQuery = $jq13;
</script>
<script src="some_other_plugin.js"></script>
Немного менее изящный, но он должен работать.