Добавьте JavaScript внизу страницы

15

Как я могу добавить сценарии JavaScript внизу страницы в моем шаблоне?

Onita
источник
array('type' => 'inline', 'scope' => 'footer', 'weight' => 5), Вы можете использовать Вес, чтобы настроить файл в нижнем колонтитуле.
Калидасан

Ответы:

18

Я думаю, что вы можете сделать это с drupal_add_js () ; Кажется, что опция ключа области видимости - ваш друг!

Пол Деллайера
источник
5
Я использую это:drupal_add_js($theme_path.'/js/jquery.easing.1.3.js', array('type' => 'file', 'scope' => 'footer')); ?>
Онита
@ Так, где мы должны это поставить? на html.tpl.php?
Джон
2
На page.tpl.php
Онита
1
Это тот же код, если я хочу прикрепить файл js к template.php?
CocoSkin
Не будет ли это перезаписано при обновлении темы?
Ишервуд
6

В вашей теме html.tpl.phpесть строчка <?php print $scripts; ?>.

Это строка, которая распечатывает JavaScript на вашей странице.

Вы можете перемещать его куда угодно, например, размещать после всего остального, непосредственно перед закрывающим bodyтегом, чтобы все ваши скрипты загружались внизу.

Алекс Вебер
источник
2
Я бы не предложил печатать $scriptsвнизу html.tpl.php; эта переменная включает теги сценария для jQuery и другие файлы JavaScript в Drupal. Содержит ли $scriptsHTML-теги, которые можно выводить на улицу <head>?
kiamlaluno
1
нет, у скриптов есть только теги 'script src' и встроенный javascript, это сделано в паре шаблонов и работает как шарм, я сделал это в Zentropy, моей базовой теме html5: drupal.org/project/zentropy
Алекс Вебер
3
Некоторые файлы JS из модулей contrib могут предполагать включение на страницу <head>. Например, когда они определяют глобальные переменные или функцию, вызываемую встроенным скриптом (даже если это плохая практика).
Пьер Байль
5

Вы можете попробовать добавить файл следующим образом:

drupal_add_js('sites/all/themes/themname/js/skrollr.js', array('scope'=>'footer'));
Махапал Пурохит
источник