где включить файлы скриптов - PullRequest
3 голосов
/ 29 января 2010

Я разделил различные компоненты страницы в разных файлах php. В php-файле навигации у меня есть объекты, которые я хочу использовать в javascript. куда я должен положить javascript <script ...>, чтобы он нормально загружался? сейчас я помещаю его в совершенно отдельный файл header.php? но я не думаю, что JavaScript выбирает объекты из nav.php я надеюсь, что это имеет смысл;)

Ответы [ 5 ]

1 голос
/ 29 января 2010

Стандартное предложение заключается в том, что вы должны поместить все ссылки SCRIPT перед закрывающим тегом BODY внизу документа. Это упрощает сетевые подключения:

http://developer.yahoo.com/performance/rules.html

1 голос
/ 29 января 2010

Неважно, в каком месте процесса рендеринга PHP вы его поместили, важно лишь то, что при объединении выходного HTML и javascript элементы HTML существуют, прежде чем вы попытаетесь получить к ним доступ в javascript.

По этой причине большинство наборов инструментов javascript имеют функцию для выполнения javascript после загрузки элементов страницы, такую ​​как функция document.ready в jquery.

0 голосов
/ 29 января 2010

Заметим, что выигрыш в производительности, который вы получаете от изменения положения тегов (или использования более эзотерических методов для избежания блокировки), очень мал по сравнению с преимуществом правильного кэширования их в браузере.

C.

0 голосов
/ 29 января 2010

Насколько я понимаю, лучшая скорость достигается при размещении сценария в конце страницы?

http://developer.yahoo.com/performance/rules.html

Размещение сценариев в нижней части Проблема, вызванная сценариями, заключается в том, что ониблокировать параллельные загрузки.Спецификация HTTP / 1.1 предполагает, что браузеры загружают не более двух компонентов параллельно для каждого имени хоста.Если вы обслуживаете свои изображения с нескольких имен хостов, вы можете получить более двух загрузок параллельно.Однако во время загрузки скрипта браузер не будет запускать другие загрузки, даже на разных именах хостов.

В некоторых ситуациях переместить скрипты в нижнюю часть нелегко.Если, например, сценарий использует document.write для вставки части содержимого страницы, его нельзя переместить ниже на странице.Также могут быть проблемы с областями видимости.Во многих случаях есть способы обойти эти ситуации.

Альтернативное предложение, которое часто возникает, - использовать отложенные сценарии.Атрибут DEFER указывает, что сценарий не содержит document.write и является подсказкой для браузеров, что они могут продолжить рендеринг.К сожалению, Firefox не поддерживает атрибут DEFER.В Internet Explorer сценарий может быть отложен, но не настолько, как хотелось бы.Если скрипт можно отложить, его также можно переместить в нижнюю часть страницы.Это ускорит загрузку ваших веб-страниц.

0 голосов
/ 29 января 2010

Обычно советуем ставить <script> внизу вашей HTML-страницы.

http://developer.yahoo.com/performance/rules.html

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