web-dev-qa-db-fra.com

jQuery dans l'en-tête ou le pied de page

D'après mes lectures, il semblerait judicieux de charger les scripts tels que jquery et dépendances dans le pied de page si possible; Cependant 2 choses me confondent qui. Premièrement, la valeur par défaut de wp_enqueue_script () est de mettre le script dans le pied de page et, deuxièmement (et éventuellement liée), une ligne du codex

Notez que vous devez mettre votre script en file d'attente avant l'exécution de wp_head, même s'il sera placé dans le pied de page.

Est-ce à dire que même si le script est configuré pour être chargé dans le pied de page, il se charge toujours plus tôt et nous perdons donc plusieurs avantages du placement du pied de page?

Edit - Juste au cas où l'instruction incorrecte ci-dessus confondre quiconque à l'avenir. J'ai réalisé depuis que j'avais lu le codex faux et que la valeur par défaut pour wp_enqueue_script() est PAS pour mettre le script dans le pied de page

3
byronyasgur

Dans le Codex, il y a beaucoup de restes dans les articles sur les scripts qui ne sont pas tout à fait corrects (c'est le moins que l'on puisse dire).

La mise en file d'attente ne devrait pas être faite avant wp_head(), elle devrait être faite sur wp_enqueue_scripts. Ce qui est techniquement tôt dans wp_head().

Cela n'affecte pas les performances, car le script d'enregistrement/mise en file d'attente explique simplement à WordPress comment procéder. La sortie réelle du script est réalisée en tant qu'action d'impression séparée.

Voir ma réponse dans où est le bon endroit pour enregistrer/mettre en file d'attente les scripts et les styles pour une description plus détaillée du fonctionnement des choses.

5
Rarst

D'après mes lectures, il semble que le chargement de scripts tels que jquery et dépendances dans le pied de page soit préférable, si possible.

Généralement, il est plus judicieux de placer les scripts en bas pour accélérer le chargement de la page. Mais cela dépend aussi de la façon dont vous utilisez les scripts et de ce que fait le code. Si vous essayez d'utiliser jQuery dans une balise de script en ligne (c'est-à-dire <script></script>) dans le corps de la page sans vous accrocher à l'événement ready du document, Pause.

N'oubliez pas que la bibliothèque doit être chargée avant avant de tenter de l'utiliser.

Est-ce à dire que même si le script est configuré pour être chargé dans le pied de page, il se charge toujours plus tôt et nous perdons donc plusieurs avantages du placement du pied de page?

Non. Vous mettez votre script en file d'attente et spécifiez qu'il sera chargé dans le pied de page. WordPress l'examinera, s'en souviendra pour plus tard et écrira le script quand il atteindra la balise wp_footer(). Tous vos scripts doivent être mis en file d'attente avec l'action wp_enqueue_scripts, quel que soit l'endroit où vous souhaitez les imprimer sur la page.

2
EAMann