Вопрос по размеру кода
Если размер javascript кода будет на несколько тысяч строк на каждой странице, будет ли это влиять на скорость загрузки страницы? Или возможно на что либо другое?
|
ну все от скорости интернета зависит... много данных не всегда хорошо, поэтому если есть возможно, подгружать по необходимости то что потребуется.
|
Так что, всё таки влияет? На сколько я знаю, браузер показывает только html содержимое страницы
|
показывает да, но загружает то он все что ему дали, картинки, css, скрипты и т.п.
|
Несколько тысяч - это семечки, лично я наоборот леплю всё в один и сжимаю, ведь всё равно один раз загрузил и закешировал.
Но помню, когда код в гзипе и gcc весил около пол мегабайта, то я сделал для страницы реги отдельный ЖС, а в нём асинхронно, пока пользователь логинится/регается подгружал основной ЖС) |
Не понял сути
Цитата:
|
Смотри: чтобы браузеру выполнить JS - его нужно загрузить, а чем больше кода в нём, тем файл больше весит и дольше грузится, более того, в классическом режиме подключения скрипта, браузеры останавливают загрузку всего (некоторые могут грузить параллельно CSS), т.е. JS может очень сильно влиять на скорость загрузки) Но всё это - можно оптимизировать)
|
Принцип понятен, был бы признателен если вы дали бы мне подсказку по оптимизации кода, или ссылку на статью
|
Ну могу дать неск советов:
1) Всегда используй GZIP на сервере для всего, чего только можно; 2) Дополнительный бонус сжатия JS можно получить с помощью минификатора, например Google Closure Compiler (на этом сайте есть целый раздел, посвящённый ему); 3) Следует помнить тот факт, что современные браузеры грузят инфу в 6 потоков (опера в 8, а старый ИЕ по моему в 2) с одного домена, т.е. если мы вынесем например все статичные картинки/css/js на отдельные под домены, то получим бонус скорости загрузки, например css.mysite.ru, js.mysite.ru; 4) CSS/HTML можно тоже сжимать минификатором, хотя - это микро бонус); 5) Нужно знать и использовать технику CSS спрайтов и DATA: URI; 6) Нужно помнить, что загрузка script например в ИЕ<8, опере (инфа мб устарела, т.к. на 11 не проверял) блокирует вообще всё, в других разрешает загрузку других скриптов и стилей, а при выполнение блокируется всё везде, НО это можно (если нужно) вылечить; 7) Используй событие DomContentLoaded, а не Window Load в JS; 8) JS фреймворки (там jQuery и т.д.) подгружай с гугла/яндекса и т.д.. Ну вот основные факты такой оптимизации) А статей в инете навалом. |
Спасибо
|
Часовой пояс GMT +3, время: 05:25. |