А если еще быстрее?

А если еще быстрее?

Давайте подумаем еще немного. Зачем нам каждый раз создавать фрагмент документа, если мы для этой цели можем использовать обычный его узел (фактически создавать кэш нашего узла, который мы собираемся везде менять)? Так можно прийти к следующему фрагменту кода:

var div = document.getElementsByTagName("div");

var child = document.createElement("div");

var parent = div[0].parentNode;

for ( var e = 0; e < elems.length; e++ ) {

child.appendChild( elems[e].cloneNode(true) );

}

for ( var i = 0; i < div.length; i++ ) {

// для IE

if (IE) {

parent.replaceChild(child.cloneNode(true),div[i]);

// для других браузеров

} else {

div[i] = child.cloneNode(true);

}

}

В нем соответствующие узлы документа заменяются на клонированный вариант кэшированной версии (без создания DocumentFragemnt). Это работает еще быстрее (везде, кроме IE — примерно на порядок, в IE — в полтора-два раза).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Что быстрее: gzip или канал?

Из книги автора

Что быстрее: gzip или канал? Модель хорошо аппроксимирует полученные данные, поэтому примем ее за основу для следующих вычислений. Нам нужно, на самом деле, установить, насколько процессорные издержки на сжатие превосходят (или, наоборот, меньше) издержек на передачу


А если еще и сжать?

Из книги автора

А если еще и сжать? Если мы не можем адекватно использовать нормальные форматы (PNG, GIF) для представления favicon.ico, то почему бы не задействовать gzip-сжатие для ее выдачи клиентскому браузеру? Можно. И все актуальные браузеры это понимают. Размер при этом составляет порядка 300


Что быстрее?

Из книги автора

Что быстрее? Да, очевидно, что размер DOM-дерева влияет на скорость загрузки страницы. Одной из целей данного исследования было показать, как именно влияет (в конкретных числах). Средний размер страницы — 700-1000 элементов. Они загрузятся в дерево сравнительно быстро (3-7 мс, без


DOM DocumentFragment: быстрее быстрого

Из книги автора

DOM DocumentFragment: быстрее быстрого DocumentFragment является облегченным контейнером для DOM-узлов. Он описан в спецификации DOM1 и поддерживается во всех современных браузерах (был добавлен в Internet Explorer в 6-й версии).В спецификации говорится, что различные операции — например, добавление


Быстрее и лучше

Из книги автора

Быстрее и лучше Чтобы растения росли максимально быстро, пашня должна быть увлажнена, а урожай – хорошо освещен в ночное время. Для увлажнения пашни поместите источник воды в пределах четырех блоков. Если у вас пока нет ведра для воды, сажайте растения около пруда.


7.6. Проще, удобнее, быстрее

Из книги автора

7.6. Проще, удобнее, быстрее Процесс конфигурирования должен быть максимально удобным. Если все настройки будут нагромождены в одном файле /etc/httpd/conf/httpd.conf, то разобраться в них станет очень сложно. А чем больше параметров, тем выше вероятность, что вы что-либо прозеваете.


Если вы заболели…

Из книги автора

Если вы заболели… Все мы ходим под Богом… Но не всегда он успевает уследить за каждым из нас, и мы заболеваем. Ну, а раз заболели, надо лечиться. «Лечиться и Интернет?» — спросите вы. — «А, понятно, там можно найти сайты суперских клиник в России и за ее рубежами, которые


Если сайта нет

Из книги автора

Если сайта нет В некоторых случаях эффективные рекламные и PR-кампании можно проводить, даже не имея сайтов. Так, например, специалисты екатеринбургского рекламного агентства «Провинта» (www.provinta.ru) говорят, что «нет необходимости открывать собственную газету или


А если они уходят?

Из книги автора

А если они уходят? Отток пользователей присутствует всегда, это обстоятельство не должно вас пугать. Остановить этот процесс невозможно. Но его можно контролировать.Если ежесуточно к вам в группу приходит 1000 новых друзей, а 20–30 уходит, это нормально. Ваш чистый прирост


Больше, лучше, быстрее

Из книги автора

Больше, лучше, быстрее Реализация делегатов, которую мы рассмотрели выше, вполне работоспособна. Тем не менее, некоторые её особенности вызывают озабоченность. Во-первых, интенсивное использование шаблонов может привести к чрезмерному разбуханию кода. Во-вторых, объекты


FERRMA: Быстрее, быстрее, сейчас же… Немедленно!

Из книги автора

FERRMA: Быстрее, быстрее, сейчас же… Немедленно! Автор: Алексей СтародымовТак уж сложилось, что производители мобильных телефонов не считают нужным сообщать, какая именно аппаратная платформа используется в той или иной модели, семействе или даже поколении устройств. Оно и


Глава 8  Как заставить компьютер работать быстрее

Из книги автора

Глава 8  Как заставить компьютер работать быстрее  Способы повышения производительности Говорят, что торопить компьютер – это все равно что торопить женщину. Но на практике оказывается, что заставить компьютер работать быстрее все же можно.Вот некоторые способы