SmokerMan, как вы думаете, а вот такой метод поможет?:
1. Самый простой и безопасный:
Открываем саму библиотеку, и оборачиваем ее таким вот образом:
// !
// Sometimes jQuery can be included more then ones,
// and after each next including
// all jquery-plugins removing automatically.
// That is why next check-code was set.
// This code initing jQuery
// just if it was not inited early.
if(window.jQuery == undefined) {
// здесь будет весь исходный код jQuery
//...
}
После этого можно переименовать имя файла, к примеру, на такое:
jquery-1.3.2.if-undefined.min.js во избежание случайного перетирания и подключать его. Хотя в этом случае придется изменить имя библиотеки во всех файлах где она подключается, а это не очень эффективно. К тому же в будущем может найтись человек, который не будет знать об этом фиксе или просто забудет о нем, и подключит библиотеку со стандартным именем.
Если же имя оставить стандартным, эта защита сработает везде автоматически.
Так что решать Вам.
Недостаток этого фикса тот, что библиотека может полностью подгружаться несколько раз. Хотя, если Вы не используете различные javascript-миксеры, оптимизацию яваскриптового кода путём склеивания, прочее, то, скорее всего, браузер просто повторно возьмёт эту библиотеку со своего кэша. Тем не менее есть второй, более красивый вариант:
2. Этот способ заключается в том, чтобы проверить яваскриптом инициализирована ли библиотека, и если нет – то сгенерировать запрос на ее подключение. Делается это просто:
<script type="text/javascript">
if(window.jQuery==undefined) {
document.write(unescape("%3Cscript src='/js/jquery-1.3.2.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
Особенностью данного метода является то, что jQuery начнёт грузиться только после полной загрузки страницы. Это значит, что Вы должны учесть это, чтобы Ваш код не начал выполнять раньше чем подключится библиотера. А также все плагины придется подключить таким же образом через document.write.