Dodaj zewnętrzne javascripts

20

Czy można dodawać zewnętrzne skrypty javascript bezpośrednio do pliku .info kompozycji?
np. skrypty [] = http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js

JurgenR
źródło
Czy chcesz po prostu dodać wersję CDN narzędzi jQuery do swojego motywu, czy też wyraźnie pytasz, czy można to zrobić z pliku .info kompozycji?
mpdonadio
Jest jawne dodanie zewnętrznego javascript do pliku .info
JurgenR
Więc chciałeś dodać go do pliku .info i zaakceptowałeś odpowiedź, która w ogóle nie mówi o pliku .info i pokazuje metodę drupal_add_js?
mpdonadio
Tak, jeśli nie działa w pliku informacyjnym, cieszę się z najlepszego możliwego rozwiązania.
JurgenR

Odpowiedzi:

24

W pliku template.php kompozycji użyj drupal_add_js () do metody preprocessu strony (lub równoważnego preprocesu).

function hook_preprocess_page(&$vars) {
  drupal_add_js('http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js', 'external');
}
drmonkeyninja
źródło
Dostaję błąd javascript podczas korzystania z tej funkcji, kiedy umieszczam skrypt w (stopce) html.tpl.php, on działa.
JurgenR
Jaki błąd? Czy Drupal wyświetla poprawnie wyglądający znacznik skryptu podczas korzystania z tej funkcji, jeśli sprawdzasz kod źródłowy?
drmonkeyninja
Dodanie tablicy opcji to naprawiło. Chyba to był problem z wagą. drupal_add_js (' cdn.jquerytools.org/1.2.6/jquery.tools.min.js ', tablica ('type' => 'external', 'scope' => 'header', 'weight' => 10)) ; Dziękuję!
JurgenR
@Jurgen drupal_add_js()akceptuje również ciąg jako drugi parametr; w takim przypadku jest uważany za indeks „typu” używany z $optionstablicy. Jeśli musisz ustawić inne opcje, musisz użyć tablicy.
kiamlaluno
@drmonkeyninja Jak dodać JS w dowolnym module .. ??
Nishant,
2

Metoda dodawania javascript zależy od tego, do czego dodajesz javascript. Istnieją różne sposoby dodawania js.

  • Poprzez zdefiniowanie w pliku theme.info.

  • Dodanie go w linii.

  • Dodanie zewnętrznego pliku js.

Za pomocą tego prostego wiersza kodu możesz dodać plik informacyjny js

scripts[] = js/myscript.js

Lub możesz użyć funkcji php dostarczonej przez drupal drupal_add_js

Ta funkcja pozwala łatwo dodać plik JavaScript lub pomaga w ustawianiu kodu śródliniowego na dowolnej stronie w motywie i zajmuje 5 parametrów ( widać to w odwołaniu do interfejsu API ).

Tutaj znajduje się szczegółowy post .

esafwan
źródło
2
nie można zdefiniować zewnętrznego JS w pliku informacyjnym, najwyraźniej drupal.stackexchange.com/a/196874/12010
batigolix