Fügen Sie externe Javascripte hinzu

20

Ist es möglich, externe Javaskripte direkt in die .info-Datei eines Themas einzufügen?
zB scripts [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js

JurgenR
quelle
Möchten Sie Ihrem Thema nur die CDN-Version von jQuery Tools hinzufügen, oder möchten Sie ausdrücklich wissen, ob dies aus der .info-Datei eines Themas möglich ist?
mpdonadio
Es wird ausdrücklich
empfohlen
Sie wollten es der .info-Datei hinzufügen und haben eine Antwort akzeptiert, die überhaupt nicht über die .info-Datei spricht und die drupal_add_js-Methode zeigt?
mpdonadio
Ja, wenn es in der Info-Datei nicht funktioniert, bin ich froh über die bestmögliche Lösung.
JurgenR

Antworten:

24

Verwenden Sie in der template.php-Datei Ihres Themas drupal_add_js () für die Seitenvorverarbeitungsmethode (oder eine entsprechende Vorverarbeitung).

function hook_preprocess_page(&$vars) {
  drupal_add_js('http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js', 'external');
}
drmonkeyninja
quelle
Ich bekomme einen Javascript-Fehler, wenn ich diese Funktion verwende, wenn ich das Skript in die (Fuß-) html.tpl.php stelle, funktioniert es.
JurgenR
Welcher Fehler? Gibt Drupal bei Verwendung dieser Funktion das korrekt aussehende Skript-Markup aus, wenn Sie den Quellcode überprüfen?
Drmonkeyninja
Das Hinzufügen des Options-Arrays hat das Problem behoben. Ich schätze, es war ein Problem mit dem Gewicht. drupal_add_js (' cdn.jquerytools.org/1.2.6/jquery.tools.min.js ', Array ('type' => 'external', 'scope' => 'header', 'weight' => 10)) ; Danke!
JurgenR
@Jurgen drupal_add_js()akzeptiert auch einen String als zweiten Parameter; In diesem Fall wird es als der vom $optionsArray verwendete "Typ" -Index betrachtet . Wenn Sie andere Optionen festlegen müssen, müssen Sie ein Array verwenden.
kiamlaluno
@ drmonkeyninja Wie füge ich JS in ein beliebiges Modul ein .. ??
Nishant
2

Die Methode zum Hinzufügen von Javascript hängt davon ab, wofür Sie Javascript hinzufügen. Es gibt verschiedene Möglichkeiten, js hinzuzufügen.

  • Durch die Definition in der theme.info-Datei.

  • Inline hinzufügen.

  • Hinzufügen einer externen JS-Datei.

Mit dieser einfachen Codezeile können Sie eine js info-Datei hinzufügen

scripts[] = js/myscript.js

Oder Sie können die von bereitgestellte PHP-Funktion verwenden drupal drupal_add_js

Mit dieser Funktion können Sie einfach eine JavaScript-Datei hinzufügen oder einen Inline-Code für jede Seite in Ihrem Design festlegen . Es sind 5 Parameter erforderlich ( siehe API-Referenz ).

Hierzu gibt es hier einen Detailbeitrag .

esafwan
quelle
2
Sie können kein externes JS in einer Info-Datei definieren, anscheinend drupal.stackexchange.com/a/196874/12010
batigolix