Павел Марковнин подробно рассказывает, как пользоваться профайлером Firebug на живом примере.
Все заметки с тегами «JavaScript, Optimization»
-
Как тестировать и оптимизировать JS скрипты
12 июля 2010
-
Steve Souders об особенностях клиентской оптимизации
15 февраля 2010
Steve Souders поделился сразу несколькими занятными фактами об особенностях современных и не очень браузеров.
IE и независимые от протокола URI
Internet Explorer 7 и 8 при использовании URI вида "//rmcreative.ru/css/main.css" будут загружать файл два раза. При явном указании http, https или использовании относительных URI этого не происходит.
document.write и FireFox
При загрузке скриптов через document.write в FF (в том числе и в 3.6) блокируются остальные загрузки.
IE грузит стили с media="print"
Причём делает это даже когда мы ничего не печатаем. При этом до полной загрузке блокируется рендеринг страницы.
Подключаем стили через JavaScript
Можно избежать блокировки, используя JavaScript:
var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = '/main.css'; document.getElementsByTagName('head')[0].appendChild(link);
Chrome, Safari и загрузка фоновых изображений
Перечисленные браузеры начинают загружать фоновые изображения до подгрузки CSS. Таким образом, изображения будут загружены даже если в CSS они переопределены.
Источники:
-
Асинхронный API Google Analytics
3 декабря 2009
Наконец-то Google Analytics можно установить у себя без ущерба скорости загрузки страницы.
Новый код выглядит так:
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; ga.setAttribute('async', 'true'); document.documentElement.firstChild.appendChild(ga); })();
-
cssmin.js
24 сентября 2009
Один из моих любимых технических писателей Stoyan Stefanov, автор Object-Oriented JavaScript, портировал обжиматель CSS из YUICompressor на JavaScript.
Кстати, за основу сжатия CSS в YUICompressor был взят cssmin, написанный на PHP.
-
Сергей Чикуёнок ответил на вопросы
1 сентября 2009
В рамках онлайн-конференции Сергей Чикуёнок ответил на множество различных вопросов.
Вопросы и особенно ответы получились на удивление полезными, так что советую прочитать и обдумать.
Кстати, в рамках той же онлайн-конференции задавались вопросы и другим не менее интересным людям.
-
Профилирование вызовов JavaScript-функций
4 марта 2009
Перевод статьи JavaScript Function Call Profiling Джона Резига, автора jQuery, рассказывающей о способах замера времени выполнения функций.
-
Data URI [CSS] Sprites
16 декабря 2008
Руслан Синицкий и Николай Мациевский порадовали новым сервисом для автоматического включения небольших картинок в Data URI CSS, и автоперевёрстки под это дело разметки и CSS. Пока сервис имеет статус beta и, в общем, «ограниченно годен».
-
UA Profiler
24 ноября 2008
Очень интересная табличка, показывающая различные ограничения браузеров, касающиеся, в итоге, производительности.
Также можно проверить свой браузер. Результаты проверки будут использованы для корректировки итоговой таблички.
-
HTTP_StaticMerger
24 ноября 2008
Котеров выложил своё решение для слития множества файлов CSS/JS в один.
Из достоинств отмечаются:
— Обработка директив @import и удаление комментариев из кода, что экономит трафик.
— "Слитый" URL зависит от времени модификации входящих в него файлов.
— Поддержка заголовков HTTP If-Modified-Since, If-None-Match, Etag.
— Работа под очень высокой нагрузкой (при использовании reverse-proxy сервера с модулем кэширования, например, nginx).
-
Умное Кеширование и Версионность в Javascript/CSS
4 мая 2008
О том, как правильно закэшировать внешние ресурсы и обеспечить прозрачное обновление при смене версии.