Статьи

Выпущен DOMAssistant 2.7: лучшая производительность, больше возможностей, меньший размер файла

Оригинальный пост, написанный Робертом Найманом: Оригинальный пост

После большой кропотливой работы мы рады представить новую версию DOMAssistant: быстрее, меньше кода, лучшую поддержку и улучшенную стабильность. И больше возможностей, конечно.:-)

Хотя мы на самом деле уменьшили размер файла кода, в то же время мы добавили ряд полезных функций и улучшили производительность селектора CSS.

Новые особенности

Добавлена ​​поддержка Юникода

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

Естественно, мы также хотели сравниться с другими библиотеками JavaScript, и поэтому мы создали тест Slickspeed Unicode, чтобы показать, чего мы достигли. Подсказка: столбец DOMAssistant — тот, который понимает это правильно.:-)

Полная документация на китайском языке

В соответствии с нашей поддержкой Unicode, мы также предлагаем полную документацию на китайском (и по-прежнему на французском). Эти переводы доступны для скачивания в разделе документации .

Новые методы: cssSelect, ajax, setStyle, setErrorHandlingиfirst

В этом выпуске был представлен ряд новых полезных методов после получения отзывов от пользователей и сообщества:

cssSelect

Этот метод используется для выбора CSS для уже существующей ссылки на элемент DOM. Пример:

$(document).cssSelect(".mandatory");

$$(DOMElementReference).cssSelect(".important[type=test]");).

ajax

Этот ajaxметод является более подробным и точным способом выполнения операций AJAX, где веб-разработчик может настроить множество параметров. Например:

$("#container").ajax({
url: "ajax.php",
method: "POST",
params : "name=DOMAssistant",
callback: functionReference,
headers : {
"Content-type" :
"application/x-www-form-urlencoded"
}
});

setStyle

Чтобы применить прямой встроенный стиль к элементу, переопределить CSS, примененный из файла CSS, или если вам нужно что-то изменить динамически, вы можете использовать setStyleметод. Пример использования:

$("#container").setStyle("border", "10px solid red");

$("#container").setStyle({
background : "#ffffa2",
color : "#f00"
});

setErrorHandling

При использовании DOMAssistant.DOMReadyметода для добавления функций / методов для запуска, как только DOM загружен, теперь есть альтернатива для установки обработчика ошибок в случае сбоя:

DOMAssistant.DOMLoad.setErrorHandling(function (e) {
// e is the error object passed in
});

first

Это вспомогательный метод для получения ссылки на первый элемент, возвращаемый при выборе CSS, а также добавления всех методов DOMAssistant к этому элементу. Например:

$("#navigation a").first();

Значительно улучшена производительность CSS селектора

Еще одна вещь, которая для нас в команде DOMAssistant очень важна и иногда недооценивается людьми, это производительность и точность. В версии 2.6 у DOMAssistant была самая быстрая производительность CSS-селекторов, за исключением Internet Explorer, где Ext JS показал очень впечатляющие результаты в плане производительности.

Мы восприняли это как сложную задачу и улучшили код для большинства веб-браузеров, одновременно следя за тем, чтобы DOMAssistant теперь, как правило, имел самую быструю производительность CSS-селектора в Internet Explorer (результаты могут отличаться…).

Попробуйте тест Slickspeed, чтобы увидеть новые результаты!

Исправления и изменения точности

Еще одна вещь, которую мы сделали, это исправление точности некоторых CSS-селекторов, и общее поведение метода было изменено, чтобы минимизировать риск ошибок и обеспечить более стабильную работу.

  • Исправлено: функция для события, применяемая с помощью addEvent, не могла быть добавлена ​​несколько раз.
  • Исправлена ​​ошибка, при которой функция в DOMReady не могла применяться несколько раз.
  • Исправлена ​​точность для реализации Eath [att $ = value] в XPath.
  • Исправления точности для селектора nth-child.
  • Точность исправляет селектор ~ и содержится в Internet Explorer.
  • Исправлено то, что разрешено после комбинатора ребенка / брата.
  • Исправлен выбор атрибута для поддержки значений, содержащих пробелы.
  • Исправьте то, что возвращается из методов prev и next, чтобы к ним применялись правильные методы.

Попробуй!

Мы очень довольны этим выпуском и хотели бы, чтобы вы загрузили DOMAssistant и опробовали его.

Присоединяйтесь к нам в мире DOMination! :-D