it-roy-ru.com

jQuery в верхнем или нижнем колонтитуле

Из моего прочтения кажется, что есть хороший пример загрузки сценариев, таких как jquery и зависимости, в нижний колонтитул, если это возможно; однако меня смущают две вещи, которые. Во-первых, по умолчанию wp_enqueue_script () помещает скрипт в нижний колонтитул, а во-вторых (и, возможно, связано) есть строка из кодекса

Обратите внимание, что вы должны поставить в очередь свой скрипт перед запуском wp_head, даже если он будет помещен в нижний колонтитул.

Значит ли это, что даже если скрипт настроен на загрузку в нижний колонтитул, он все равно загружается рано, и поэтому мы теряем некоторые преимущества размещения нижнего колонтитула?

Edit - на всякий случай, если приведенное выше неверное утверждение смущает кого-либо в будущем. С тех пор я понял, что я читал кодекс неправильно и что по умолчанию для wp_enqueue_script()НЕ поставить скрипт в нижний колонтитул

3
byronyasgur

В связанных со сценариями статьях в Кодексе есть много не совсем правильных (мягко говоря) слов.

Постановка в очередь не должна выполняться до wp_head(), это должно быть сделано wp_enqueue_scripts. Что технически рано внутри wp_head().

Это не влияет на производительность, потому что регистрация/постановка в очередь сценария просто объясняет WordPress, как это должно быть сделано. Фактический вывод сценария выполняется как отдельное действие печати.

Смотрите мой ответ в , где находится правильное место для регистрации/постановки в очередь сценариев и стилей для более подробного описания того, как все работает.

5
Rarst

Из моего прочтения кажется, что есть хороший пример загрузки сценариев, таких как jquery и зависимости, в нижний колонтитул, если это возможно

Как правило, разумнее размещать скрипты внизу, чтобы страница загружалась быстрее. Но это также зависит от того, как вы используете сценарии и что делает код. Если вы попытаетесь использовать jQuery в теге встроенного скрипта (т.е. <script></script>) в теле страницы, не привязываясь к событию готовности документа, все будет перерыв.

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

Значит ли это, что даже если скрипт настроен на загрузку в нижний колонтитул, он все равно загружается рано, и поэтому мы теряем некоторые преимущества размещения нижнего колонтитула?

Нет. Вы ставите в очередь свой скрипт и указываете, что он будет загружен в нижний колонтитул. WordPress рассмотрит его, запомнит на будущее и напишет скрипт, когда он попадет в тег wp_footer(). Все ваши сценарии должны быть поставлены в очередь с действием wp_enqueue_scripts независимо от того, где вы хотите, чтобы они были фактически напечатаны на странице.

2
EAMann