Я хотел бы использовать скрипт Selectivizr для эмуляции селекторов CSS3 в IE6-8.
Но мне трудно добавить это в мою тему. Пока попробовал:
1) Принудительно это сделать в разделе заголовка html.tpl.php:
<!--[if lt IE 9]>
<script src="<?php print base_path() . path_to_theme(); ?>/js/selectivizr.js"></script>
<![endif]-->
Но base_path (), похоже, ничего не возвращает в D7 (по крайней мере, в html.tpl.php - может быть, в page.tpl.php ...). И я знаю, что это не Drupal способ сделать это в любом случае.
2) Добавление в .info файл моей темы:
scripts[] = selectivizr.js
Но тогда это безоговорочно, конечно :(
3) Использование drupal_add_js () в моем template.php.
Но опять же, я не уверен, что это можно установить там условно?
источник
Я думал, что это было испечено, но было неправильно.
Похоже, что тема Mothership использует эту библиотеку.
Это делает вещи немного по-другому от вас, но по сути делает ваш вариант 1
Похоже, этот код не будет работать, если ваш сайт не находится в /
Но если библиотека нужна для вашей темы, я не вижу проблемы с помещением условного кода в файл page.tpl.php.
источник
Я бы использовал drupal_add_html_head () в вашем template.php. К сожалению, # 865536: drupal_add_js () отсутствует опция «браузеры»
источник
Если ваш JS-файл не имеет зависимостей, его можно включить так же, как это в заголовок HTML:
Если у вас есть, скажем, зависимость jQuery, имеет смысл поместить ваш код внизу страницы:
источник