Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Расположение подключаемого файла JS (https://javascript.ru/forum/events/48959-raspolozhenie-podklyuchaemogo-fajjla-js.html)

Эдди 23.07.2014 15:13

Расположение подключаемого файла JS
 
Где-то вычитал, что подключать внешний файл JS для оптимизации надо перед закрывающим тегом </body> для быстрой загрузки страницы.

Так что же получается. На странице форма.
Форма загрузилась, а ты хоть кликай там на своих чекбоксах и селектах, все попусту, пока не загрузится в конце страницы скрипт?

С другой стороны. У меня все равно в подключаемом скрипте стоит функция ready (пока не загрузится страница, ничего не выполнять).

Так как же правильнее?
Вернее, везде написано, что не важно, где скрипт.
А как лучше?

Эдди 23.07.2014 15:13

Уточнение. Скрипт тяжелый. Несколько мегабайт.

kostyanet 23.07.2014 15:35

Несколько мегабайт текста? Полное собрание сочинений видать.

Если скрип запускается по факту загрузки DOM, то никакой нет разницы где он воткнут. Втыкайте как обычно в заголовок.

Эдди 23.07.2014 15:46

В заголовок. ОК. Так и есть.

Скрипт реально большой. Как закончу, сделаю оптимизацию.
Не, не только комменты уберу, которых там на полфайла. А повторяющиеся фрагменты попытаюсь оптимизировать.

Кстати, чтобы не плодить тем. Опробовал пару оптимизиторов скриптов. Названия не помню. Нихрена не работает программа после оптимизации.
Мне что, вручную пробелы удалять и переменные уменьшать в длинне символов (и т.д.).
Можете посоветовать какой-нибудь хороший оптимизатор. Проверенный.
Не знаю, существуют ли такие, но чтобы выдавал - "ЗДЕСЬ У ТЕБЯ ОШИБКА БЛН" :)

Erolast 23.07.2014 15:51

http://javascript.ru/optimize/javascript-compression

Эдди 23.07.2014 16:17

Спасибо. В выходные проверю. Сейчас надо доделывать скрипт.

kostyanet 23.07.2014 18:08

Обфусцируйте полное собрание.

Я не разобрался, но на запрос js include дают такие типа ссылки http://programmers.stackexchange.com...ing-script-tag

То есть как бы сделать так, чтобы загружать необходимы куски скрипта по обстоятельствам.

BETEPAH 23.07.2014 22:02

Цитата:

Сообщение от kostyanet
никакой нет разницы где он воткнут. Втыкайте как обычно в заголовок.

Если воткнуть в заголовок, то страница не будет рендериться пока не загрузится скрипт. Как следствие, пользователи обречены на пару секунд лицезрения белой страницы.

Vlasenko Fedor 23.07.2014 22:26

Цитата:

Сообщение от BETEPAH
Если воткнуть в заголовок, то страница не будет рендериться пока не загрузится скрипт. Как следствие, пользователи обречены на пару секунд лицезрения белой страницы.

для этого есть атрибут async

BETEPAH 23.07.2014 22:35

Цитата:

Сообщение от Poznakomlus
для этого есть атрибут async

который нельзя назвать кроссбраузерным.


Часовой пояс GMT +3, время: 07:45.