Оригинальный пост, написанный Робертом Найманом: Оригинальный пост
После большой кропотливой работы мы рады представить новую версию 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!