• Joomla - как отключить mootools

    Mootools это легковесный javascript фреймворк используемый Joomla 2.5. Ваш сайт на Joomla по умолчанию подключает два js файла mootools-core.js (92.9 KB) и mootools-more.js (233 KB). Mootools в основном используется в админке Joomla, и иногда в шаблонах.

    При отключении этой библиотеки на стороне клиента, Вы получите несколько плюсов.  Таких как:

    • Ускорение загрузки страницы сайта, страница будет легче на 325.9 KB ненужного javascript'a
    • Исчезнут конфликты между mootools и другими javascript библиотеками, например с jQuery, связанные с тем, что mootools использует $. 
  • Учимся работать с jQuery, Prototype и Mootools вместе

    Так уж сложилось, что в мире кроме JQuery есть еще куча различных библиотек. Самые популярных из них: Prototype, Mootools, ExtJS. К тому же есть тысячи самописных. И web-программистам, то и дело, по роду своей деятельности приходится с ними всеми сталкиваться.

    По своей сути все эти библиотеки, как бы они не были хороши, всего лишь надстройки над JS браузера. Это значит, что ничего из ряда вон выходящего они делать априори не умеют. Они лишь абстрагируют программиста от тонкостей реализации работы JavaScript в разных браузерах.

    К примеру, сейчас, в большинстве браузеров есть метод document.getElementsByClassName. Но в самых выдающихся (IE), этого метода нет. Что делает программист, когда ему надо найти элемент по его классу?

    Каждый раз рождается, что-то вроде этого:

    function getElementsByClassName(myclass,node){
    	var parent = node || document;
    	if(!parent.getElementByClassName){
    		var items = parent.getElementByTagName('*');
    		var result = [];
    		for(var r in items)
    			if(items[r].className==myclass)
    				result[result.length] = items[r];
    	}else result = parent.getElementByClassName(myclass);
    	return result;
    }
    

    Библиотеки освобождают нас от такой рутины, и сами добавляют в document.prototype нужный метод, если его нет. Но библиотек очень много, а методов, которые нужны каждый день с десяток. Сюда относится уже упомянутый поиск по классу (по CSS селектору), события onload, ondomready, работа с AJAX, нахождение позиции элемента на странице, определение браузера и т.д. Словом, редко в каком веб приложении можно обойтись без этих методов. Разработчики jQuery, похоже, об этом знают, поэтому эта библиотека и в авангарде.

    Но, как  я уже сказал, не jQuery единым сыт web-разработчик. Поэтому надо знать элементарный джентльменский набор и из других библиотек. Они могут Вам пригодиться, когда Вы, к примеру, работаете над чужим проектом.

    Поводом для написания статьи были постоянные вопросы моего товарища, который работал со старой версией UMICMS, но уже привык к свежей версии. Сейчас UMIперешла на jQuery, а раньше она работала на Prototype.

    Также очень популярная Joomla по дефолту работает с Mootools, по этому эту библиотеку я не мог обойти стороной.