Расположение подключаемого файла JS
Где-то вычитал, что подключать внешний файл JS для оптимизации надо перед закрывающим тегом </body> для быстрой загрузки страницы.
Так что же получается. На странице форма. Форма загрузилась, а ты хоть кликай там на своих чекбоксах и селектах, все попусту, пока не загрузится в конце страницы скрипт? С другой стороны. У меня все равно в подключаемом скрипте стоит функция ready (пока не загрузится страница, ничего не выполнять). Так как же правильнее? Вернее, везде написано, что не важно, где скрипт. А как лучше? |
Уточнение. Скрипт тяжелый. Несколько мегабайт.
|
Несколько мегабайт текста? Полное собрание сочинений видать.
Если скрип запускается по факту загрузки DOM, то никакой нет разницы где он воткнут. Втыкайте как обычно в заголовок. |
В заголовок. ОК. Так и есть.
Скрипт реально большой. Как закончу, сделаю оптимизацию. Не, не только комменты уберу, которых там на полфайла. А повторяющиеся фрагменты попытаюсь оптимизировать. Кстати, чтобы не плодить тем. Опробовал пару оптимизиторов скриптов. Названия не помню. Нихрена не работает программа после оптимизации. Мне что, вручную пробелы удалять и переменные уменьшать в длинне символов (и т.д.). Можете посоветовать какой-нибудь хороший оптимизатор. Проверенный. Не знаю, существуют ли такие, но чтобы выдавал - "ЗДЕСЬ У ТЕБЯ ОШИБКА БЛН" :) |
|
Спасибо. В выходные проверю. Сейчас надо доделывать скрипт.
|
Обфусцируйте полное собрание.
Я не разобрался, но на запрос js include дают такие типа ссылки http://programmers.stackexchange.com...ing-script-tag То есть как бы сделать так, чтобы загружать необходимы куски скрипта по обстоятельствам. |
Цитата:
|
Цитата:
|
Цитата:
|
мода сейчас пошла на предзагрузчики
краткий пример http://jsfiddle.net/vlasenkofedor/5pDXf/ |
Два мега для простой страницы - это примерно на порядок больше чем надо. Если же это веб-приложение, то пофиг - все в кэше.
BETEPAH, По сути только ie<11 в пролёте. А во всех подобных случаях, я придерживаюсь мнения, что ословодам так и надо.) P.S. http://learn.javascript.ru/script-place-optimize |
Цитата:
К сожалению, из моего рабочего тест-листа в пролёт кроме ИЕ попадают еще андроид 2.3 и опера 12.6 |
Цитата:
|
Эдди,
разбейте файл на части и используйте подзагрузку по надобности Кроме того сожмите скрипт к примеру здесь http://compressorrater.thruhere.net/ |
Цитата:
Если я просто сожму файл, то он будет загружаться только один раз. Если разбить на части, то я создам задержки загрузки при любой манипуляции с формой. Разве не так? |
Файл занружается один раз если он попадает в кеш броузера
Разбить файл на части. Это то же вариант. Но увы мы не знаем логики приложения вашего. К примеру на главной(странице с меньшим объемом) можно подключать скрипт, который только подгружался и попадал в кеш а на другой странице его использовать беря скрипт из кеша браузера. А вот сжимать скрипты в продакшене нужно всегда. |
У меня форма поиска товара по различным классам, типам и пр.
В общем, на странице куча полей со списком, чекбоксов. Все Ajax, jQuery. Есть календарь на jQuery. При изменении каждого элемента, меняется содержание нескольких других, подгружается из БД. Когда товар уже окончательно выбран, становится активной кнопка вывести варианты и далее уже работает аякс php и выводят кучу вариантов. На моих компах не ощущается абсолютно никаких задержек. Даже анимацию ожидания не успевает вывести скрипт. Просто здесь так удивились скрипту в 2 мега, что я аж испугался. Буду искать друзей, у которых медленное соединение и медленный комп, чтобы протестировать. :) |
Еще вопрос У меня функции скрипта jquery обращаются к разным файлам php. То есть php разбит на 15 разных маленьких файлов, к каждому из которых обращается отдельная функция аякса. Насколько это правильно?
|
Если для каждого определенного действия используется отдельный php-скрипт - все правильно. Если для одного действия идет обращение к нескольким скриптам одновременно - наверняка что-то не так с архитектурой.
|
Значит, все правильно. Только некоторые функции обращаются к одним и тем же php скриптам. Потому что идентичные.
А из одной функции к нескольким скриптам - мне даже в голову такое прийти не могло. |
Часовой пояс GMT +3, время: 03:20. |