Где я должен включить файлы JS - PullRequest
2 голосов
/ 30 мая 2009

У меня есть приложение PHP, в котором есть контейнер div, в который входит приложение, которое было $_GET из строки URL.

В настоящее время существует два приложения, для которых требуется TinyMCE, и одно приложение, для которого требуется jQuery и jQuery UI.

Вопрос в том, куда мне включить файлы на странице?

В заголовке страница загружается очень медленно,> 30 секунд (теперь <10 секунд, с использованием другого маршрутизатора), внизу страницы, для которых требуются сценарии, не загружаются правильно. </p>

Файлы JS уже были сокращены и сжаты.

TinyMCE не будет gZIP, потому что Zlib установлен (в результате GD), так как мне оптимизировать ситуацию?

Ответы [ 6 ]

4 голосов
2 голосов
/ 30 мая 2009

Внизу и запускайте свои скрипты, когда документ полностью загружен (с помощью события «onload»).

1 голос
/ 30 мая 2009

Сколько файлов JS? Если их много, то вы можете посмотреть слайды Стива Соудерса на сайтах Even Faster Загрузка файла JS является блокирующим действием. У Souders есть отличное решение для блокировки скриптов. Проверьте PPT от http://www.thebitsource.com/2009/03/14/sxsw-interactive-2009-steve-souders-on-even-faster-web-sites/

Кроме того, откуда вы обслуживаете JS? Попробуйте использовать jQuery из API библиотек Google AJAX. Он использует их CDN и кеширует долгое время. Таким образом, пользователь должен будет только dl файлы 1 раз.

1 голос
/ 30 мая 2009

Вероятно, нет одного правильного ответа на этот вопрос.

Обычно размещение javascript на <head> работает нормально, но 30 секунд - это слишком много. Я разрабатываю приложение JavaScript, которое динамически загружает около 70 несжатых файлов JavaScript (некоторые довольно большие), и это не занимает около 30 секунд.

Слишком мало информации, чтобы решить эту проблему.

1 голос
/ 30 мая 2009

Размещая файл JavaScript непосредственно перед закрывающим тегом BODY, вы разрешаете загружать остальную часть страницы во время загрузки файла JavaScript. Если вы поместите его в раздел HEAD, страница будет зависать до тех пор, пока скрипт не загрузится.

Если загрузка заголовка занимает 30 секунд, возможно, вы столкнулись с другой проблемой. TinyMCE не должен загружаться за 30 секунд.

0 голосов
/ 28 июля 2010

Я хочу, чтобы мой JS-код был полностью отделен от XHTML, поэтому я поместил его в HTML-код до того, как закрывающий тег тела не подойдет мне.

Я объявляю один файл JS в заголовке HTML. Затем скопируйте / вставьте все библиотеки и т.д. в этот файл JS. Это приведет к одному HTTP-запросу, что также ускоряет работу мобильных браузеров.

Затем я использую Prototype для запуска функций, чувствительных к DOM:

document.observe("dom:loaded", function) { // code goes here });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...