Использование jQuery.noConflict

Сложилась такая ситуация, что на одной странице надо подружить библиотеки jQuery и JsHttpRequest. А точнее скрипты, которые на них опираются. Возникает конфликт библиотек.

Вообще, рекомендуется избегать совместного использования нескольких разных библиотек и желательно, чтобы все скрипты смотрели в одну библиотеку. Но это можно обеспечить, когда речь о новом сайте. Когда же проекту уже более 5 лет, когда он обрастал за это время новыми функциями, дополнениями, переживал смену верстки и дизайна, не удивительно, что тогда бывают не только разные библиотеки на одной странице, но и несколько версий одной библиотеки — скажем, той же jQuery.
Для недостаточно опытного разработчика решить такой конфликт — это как расставить 8 ферзей на шахматной доске так, чтобы они друг друга не били )) Часы уходят на нахождение причины, еще часы на то, чтобы понять, как решить проблему.

Когда я искал решение, то, конечно, запрос «конфликт jQuery c…» дал много результатов, но удивительно, что в большинстве случаев дается теория и общий случай, а четкого примера с объяснениями нет. Поэтому решил описать свой пример здесь с выделением важных моментов.

Итак, имеем:

сlockQ.js (смотрит в jQuery.js — ориентируемся по постфиксу Q)
voteR.js (смотрит в JsHttpRequest.js — ориентируемся по постфиксу R)
bootstrap.js, которому нужен jQuery.js

Конфликт возник между voteR.js и сlockQ.js. Решаем с помощью jQuery.noConflict ()

ПОДКЛЮЧЕНИЕ СКРИПТОВ

<script src="/js/jquery.js" type="text/javascript"></script>
<script src="/js/сlockQ.js" type="text/javascript" language="javascript"></script>
<script src="/js/bootstrap.js" type="text/javascript"></script>
<script>jQuery.noConflict()</script>
<script type="text/javascript" src="/js/JsHttpRequest.js"></script>
<script src="/js/voteR.js" type="text/javascript"></script>

Обращаем внимание на порядок и использование Query.noConflict

Но в таком виде работать все еще не будет. Именно со следующим шагом возникают часто проблемы. Этот момент меньше всего описан в доступном виде.

ПРАВИЛЬНЫЙ ВЫЗОВ ОДНОГО ИЗ КОНФЛИКТУЮЩИХ СКРИПТОВ (того, который смотрит в jQuery)
Нужно изменить в вызове (не путать с местом подключения) скрипта clockQ символ «$» на «jQuery»
В моем случае БЫЛО:

<script language="javascript">
$('#nyclock').clockQ({здесь параметры});
</script>

СТАЛО:

<script language="javascript">
jQuery('#nyclock').clockQ({здесь параметры});
</script>

Вот после этого скрипты должны начать работать совместно.
Успешных разработок!