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


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');
}

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 .


2
Sie können kein externes JS in einer Info-Datei definieren, anscheinend drupal.stackexchange.com/a/196874/12010
batigolix
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.