|
|
Модератор форума: JonMagon |
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » jQuery » jQuery vs. Mootools (Как решить проблему совместимости библиотек. Личный опыт) |
jQuery vs. Mootools |
Предистория
Свой первый сайт я создал в 2008 году. На первых порах дизайн сайта был простым и без особых "плюшек". Но проработав с сайтом чуть меньше 2-х лет перед мной встал вопрос об обновлении дизайна. Дизайн был выбран и приобретен из коллекции шаблонов для CMS Joomla. Понятно что его нужно было адаптировать. В адаптации дизайна больших проблем не возникло. Некоторые сложности возникли при адаптации скриптов используемых в шаблоне. Суть проблемы Как известно CMS Joomla использует javascript framework Mootools и следовательно все скрипты в шаблоне были написаны под этот framework. Так же известно что система Ucoz использует javascript framework jQuery и все стандартные функции написаны под этот framework. Обе библиотеки используют одну и туже переменную [code]$[/code] И следовательно не могут работать вместе. Вот и стала передо мною проблема как "подружить" эти две библиотеки. Варианты решения проблемы:
Рассмотрим каждый пункт подробней: Поиск аналогов практически был успешен, но мне не удалось найти скрипт меню со всеми необходимыми функциями. Замена переменных в библиотеке jQuery дала результат, но повлекла за собой ряд трудностей: Во-первых не все стандартные функции работали так как положено или совсем перестали работать Во-вторых возникла необходимость отключения стандартной библиотеки jQuery, которая подключается системой и загрузки отредактированной версии библиотеки себе на сайт и подключения в шаблоне. Так же возникла необходимость замены переменных в скрипте который отвечает за вывод системных ajax окон и других стандартных функций системы. Как можно понять не самый эффективный способ решения проблемы После не совсем удачных экспериментов с библиотекой jQuery и её переменными, мне в голову пришла мысль о том что можно попробовать сделать тоже самое с библиотекой Mootools. Результат оказался намного лучше описанного выше и стало работать без проблем и сбоев. Сейчас вкратце раскраска, как сделать это на практике. На самом деле ничего сложно в этом процессе нет. Нужно открыть файл библиотеки Mootools в любом HTML редакторе с поддержкой поиска и замены символов (я использовал Adobe Dreamwear CS5) Следующим шагом будет замена переменной $ на другую, к примеру $$, после этого так же стоит отредактировать все скрипты которые используют эту библиотеку заменив переменные $ на ту которую вы изменили в самой библиотеке. Вот в принципе и все. Если я в чем то не прав или не так сделал просьба указать это в ответах в этой теме. Этот метод устранения конфликтов библиотек возможно может быть использован и с другими javascript framework"ами, но я это не проверял. |
TRANE73, Можно, я так некоторое время и делал, но как уже писал више это вызвало ряд неудобств с сайтом
Quote Во-первых не все стандартные функции работали так как положено или совсем перестали работать Во-вторых возникла необходимость отключения стандартной библиотеки jQuery, которая подключается системой и загрузки отредактированной версии библиотеки себе на сайт и подключения в шаблоне. Так же возникла необходимость замены переменных в скрипте который отвечает за вывод системных ajax окон и других стандартных функций системы. Это только если сайт на uCoz. В других случаях не должно возникать проблем |
| |||
| |||