• Страница 1 из 1
  • 1
Модератор форума: JonMagon  
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » jQuery » jQuery vs. Mootools (Как решить проблему совместимости библиотек. Личный опыт)
jQuery vs. Mootools
AlexPS
Сообщений: 275
Репутация: 79

Сообщение # 1 | 14:39:20
Предистория

Свой первый сайт я создал в 2008 году. На первых порах дизайн сайта был простым и без особых "плюшек".

Но проработав с сайтом чуть меньше 2-х лет перед мной встал вопрос об обновлении дизайна. Дизайн был выбран и приобретен из коллекции шаблонов для CMS Joomla.

Понятно что его нужно было адаптировать. В адаптации дизайна больших проблем не возникло. Некоторые сложности возникли при адаптации скриптов используемых в шаблоне.

Суть проблемы

Как известно CMS Joomla использует javascript framework Mootools и следовательно все скрипты в шаблоне были написаны под этот framework.

Так же известно что система Ucoz использует javascript framework jQuery и все стандартные функции написаны под этот framework.

Обе библиотеки используют одну и туже переменную
[code]$[/code]

И следовательно не могут работать вместе.

Вот и стала передо мною проблема как "подружить" эти две библиотеки.

Варианты решения проблемы:


  • Самый простой способ решения проблемы это конечно поиск аналогичных скриптов написанных jQuery
  • Второй это изменить переменную в библиотеке jQuery
  • Второй это изменить переменную в библиотеке Mootools


Рассмотрим каждый пункт подробней:

Поиск аналогов практически был успешен, но мне не удалось найти скрипт меню со всеми необходимыми функциями.

Замена переменных в библиотеке jQuery дала результат, но повлекла за собой ряд трудностей:
Во-первых не все стандартные функции работали так как положено или совсем перестали работать
Во-вторых возникла необходимость отключения стандартной библиотеки jQuery, которая подключается системой и загрузки отредактированной версии библиотеки себе на сайт и подключения в шаблоне.
Так же возникла необходимость замены переменных в скрипте который отвечает за вывод системных ajax окон и других стандартных функций системы.

Как можно понять не самый эффективный способ решения проблемы

После не совсем удачных экспериментов с библиотекой jQuery и её переменными, мне в голову пришла мысль о том что можно попробовать сделать тоже самое с библиотекой Mootools.

Результат оказался намного лучше описанного выше и стало работать без проблем и сбоев. Сейчас вкратце раскраска, как сделать это на практике.

На самом деле ничего сложно в этом процессе нет. Нужно открыть файл библиотеки Mootools в любом HTML редакторе с поддержкой поиска и замены символов (я использовал Adobe Dreamwear CS5)

Следующим шагом будет замена переменной $ на другую, к примеру $$, после этого так же стоит отредактировать все скрипты которые используют эту библиотеку заменив переменные $ на ту которую вы изменили в самой библиотеке.

Вот в принципе и все. Если я в чем то не прав или не так сделал просьба указать это в ответах в этой теме. Этот метод устранения конфликтов библиотек возможно может быть использован и с другими javascript framework"ами, но я это не проверял.

Все благодарности можно оставить в репутации

TRANE73
Сообщений: 34
Репутация: 25

Сообщение # 2 | 08:06:10
А нельзя использовать стандартное название библиотеки вместо $? Например, в jQuery разрешается оба варианта:
Code
$('body').append('Hello, world!');
jQuery('body').append('Hello, world!');
AlexPS
Сообщений: 275
Репутация: 79

Сообщение # 3 | 09:07:04
TRANE73, Можно, я так некоторое время и делал, но как уже писал више это вызвало ряд неудобств с сайтом
Quote
Во-первых не все стандартные функции работали так как положено или совсем перестали работать
Во-вторых возникла необходимость отключения стандартной библиотеки jQuery, которая подключается системой и загрузки отредактированной версии библиотеки себе на сайт и подключения в шаблоне.
Так же возникла необходимость замены переменных в скрипте который отвечает за вывод системных ajax окон и других стандартных функций системы.


Это только если сайт на uCoz. В других случаях не должно возникать проблем

Все благодарности можно оставить в репутации

Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » jQuery » jQuery vs. Mootools (Как решить проблему совместимости библиотек. Личный опыт)
  • Страница 1 из 1
  • 1
Поиск: