web-dev-qa-db-de.com

jQuery in Kopf- oder Fußzeile

Aus meiner Lektüre geht hervor, dass es einen guten Grund gibt, Skripte wie jquery und Abhängigkeiten nach Möglichkeit in die Fußzeile zu laden. aber 2 sachen verwirren mich was. Erstens ist die Standardeinstellung für wp_enqueue_script (), das Skript in die Fußzeile zu setzen, und zweitens (und möglicherweise verwandt) gibt es eine Zeile aus dem Codex

Beachten Sie, dass Sie Ihr Skript in die Warteschlange stellen müssen, bevor wp_head ausgeführt wird, auch wenn es in der Fußzeile platziert wird.

Soll das heißen, dass das Skript, auch wenn es so eingestellt ist, dass es in die Fußzeile geladen wird, immer noch früh geladen wird, sodass wir einige der Vorteile der Fußzeilenplatzierung verlieren?

Edit - Nur für den Fall, dass die obige falsche Aussage irgendjemanden in Zukunft verwirrt. Mir wurde klar, dass ich den Codex falsch gelesen hatte und dass die Standardeinstellung für wp_enqueue_script()NOT ist, um das Skript einzufügen die Fußzeile

3
byronyasgur

Es gibt eine Menge Überbleibsel in scriptbezogenen Artikeln im Codex, die nicht ganz korrekt sind (milde ausgedrückt).

Die Einreihung sollte nicht vor wp_head() erfolgen, sondern auf wp_enqueue_scripts. Welches ist technisch früh in wp_head().

Dies beeinträchtigt die Leistung nicht, da das Registrieren/Einreihen von Skripten WordPress lediglich erklärt, wie dies erfolgen soll. Die eigentliche Skriptausgabe erfolgt als separate Druckaktion.

Siehe meine Antwort in wo ist der richtige Ort zum Registrieren/Einreihen von Skripten und Stilen für eine detailliertere Beschreibung, wie die Dinge funktionieren.

5
Rarst

Meiner Lektüre nach scheint es ein gutes Argument zu sein, Skripte wie jquery und Abhängigkeiten nach Möglichkeit in die Fußzeile zu laden

Normalerweise ist es klüger, Skripte am unteren Rand zu platzieren, damit die Seite schneller geladen wird. Dies hängt jedoch auch davon ab, wie Sie die Skripte verwenden und was der Code tut. Wenn Sie versuchen, jQuery in einem Inline-Skript-Tag (dh <script></script>) im Hauptteil der Seite zu verwenden, ohne sich an das Ereignis ready des Dokuments zu binden, wird dies geschehen brechen.

Denken Sie daran, dass die Bibliothek geladen werden muss , bevor Sie versuchen, sie zu verwenden .

Soll das heißen, dass das Skript, auch wenn es so eingestellt ist, dass es in die Fußzeile geladen wird, immer noch früh geladen wird, sodass wir einige der Vorteile der Fußzeilenplatzierung verlieren?

Nein. Sie stellen Ihr Skript in die Warteschlange und legen fest, dass es in die Fußzeile geladen wird. WordPress wird es sich ansehen, für später merken und das Skript tatsächlich schreiben, wenn es zum Tag wp_footer() gelangt. Alle Ihre Skripte sollten mit der Aktion wp_enqueue_scripts in die Warteschlange gestellt werden, unabhängig davon, wo sie tatsächlich auf der Seite gedruckt werden sollen.

2
EAMann