Aggiungi JavaScript nella parte inferiore di una pagina


15

Come posso aggiungere script JavaScript in fondo a una pagina, nel mio modello?


array('type' => 'inline', 'scope' => 'footer', 'weight' => 5). È possibile utilizzare Peso per regolare il file nel piè di pagina.
Kalidasan,

Risposte:


18

Penso che tu possa farlo con drupal_add_js () ; sembra che l'opzione chiave dell'ambito sia il tuo amico!


5
Lo sto usando:drupal_add_js($theme_path.'/js/jquery.easing.1.3.js', array('type' => 'file', 'scope' => 'footer')); ?>
Onita,

@Onite dove dobbiamo metterlo? su html.tpl.php?
Giovanni

2
A page.tpl.php
Onita,

1
È lo stesso codice se voglio allegare un file js su template.php?
CocoSkin,

Questo non verrebbe sovrascritto quando il tema viene aggiornato?
Isherwood,

6

Nel tuo tema html.tpl.phpc'è una linea<?php print $scripts; ?> .

Questa è la linea che stampa il javascript nella tua pagina.

Puoi spostarlo ovunque tu voglia, ad esempio, posizionarlo dopo tutto il resto, appena prima del bodytag di chiusura per caricare tutti i tuoi script in fondo.


2
Non consiglierei di stampare $scriptsin fondo a html.tpl.php; quella variabile include i tag di script per jQuery e altri file JavaScript Drupal. Non $scriptscontiene tag HTML che possono essere emesse al di fuori <head>?
kiamlaluno

1
no, gli script hanno solo tag 'script src' e javascript incorporato, è fatto in un paio di modelli e funziona come un incantesimo, lo ho fatto in Zentropy, il mio tema base html5: drupal.org/project/zentropy
Alex Weber

3
Alcuni file JS dei moduli contrib possono presumere di essere inclusi nella pagina <head>. Ad esempio quando definiscono variabili globali o funzioni chiamate da script inline (anche se è una cattiva pratica).
Pierre Buyle,

5

Puoi provare ad aggiungere il file in questo modo:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.