Fügen Sie JavaScript am Ende einer Seite hinzu

15

Wie kann ich in meiner Vorlage JavaScript-Skripte am Ende einer Seite hinzufügen?

Onita
quelle
array('type' => 'inline', 'scope' => 'footer', 'weight' => 5). Mit Weight können Sie Ihre Datei in der Fußzeile anpassen.
Validasan

Antworten:

18

Ich denke, Sie können es mit drupal_add_js () tun ; Es scheint, dass die Option des Bereichsschlüssels Ihr Freund ist!

Pol Dellaiera
quelle
5
Ich benutze es:drupal_add_js($theme_path.'/js/jquery.easing.1.3.js', array('type' => 'file', 'scope' => 'footer')); ?>
Onita
@Onite wo müssen wir das hinstellen? bei html.tpl.php?
John
2
Auf page.tpl.php
Onita
1
Ist es der gleiche Code, wenn ich eine js-Datei auf template.php anhängen möchte?
CocoSkin
Wird dies nicht überschrieben, wenn das Thema aktualisiert wird?
Isherwood
6

In Ihrem Thema html.tpl.phpgibt es eine Linie <?php print $scripts; ?>.

Das ist die Zeile, die das Javascript auf Ihrer Seite ausgibt.

Sie können es an eine beliebige Stelle verschieben, z. B. nach allem anderen platzieren, kurz vor dem schließenden bodyTag, damit alle Skripte unten geladen werden.

Alex Weber
quelle
2
Ich würde nicht vorschlagen, $scriptsam Ende von html.tpl.php zu drucken ; Diese Variable enthält die Skript-Tags für jQuery und andere Drupal-JavaScript-Dateien. Enthält $scriptsHTML-Tags, die außerhalb ausgegeben werden können <head>?
kiamlaluno
1
Nein, Skripte haben nur "script src" -Tags und Inline-Javascript, sie werden in einigen Vorlagen erstellt und funktionieren wie ein Zauber. Ich habe es in Zentropy gemacht, meinem HTML5-Basisthema: drupal.org/project/zentropy
Alex Weber
3
Bei einigen JS-Dateien aus Contrib-Modulen wird möglicherweise davon ausgegangen, dass sie auf der Seite enthalten sind <head>. Zum Beispiel, wenn sie globale Variablen oder Funktionen definieren, die vom Inline-Skript aufgerufen werden (auch wenn es sich um eine schlechte Praxis handelt).
Pierre Buyle
5

Sie können versuchen, die Datei wie folgt hinzuzufügen:

drupal_add_js('sites/all/themes/themname/js/skrollr.js', array('scope'=>'footer'));
Mahipal Purohit
quelle