Chciałbym użyć skryptu Selectivizr do emulacji selektorów CSS3 w IE6-8.
Ale trudno mi dodać go do mojego motywu. Dotychczas próbowałem:
1) Wymuszenie tego w sekcji nagłówka html.tpl.php:
<!--[if lt IE 9]>
<script src="<?php print base_path() . path_to_theme(); ?>/js/selectivizr.js"></script>
<![endif]-->
Ale base_path () nie wydaje się zwracać niczego w D7 (przynajmniej w html.tpl.php - może w page.tpl.php ...). I wiem, że i tak nie jest to Drupal .
2) Dodanie do pliku .info mojego motywu:
scripts[] = selectivizr.js
Ale oczywiście jest to bezwarunkowe :(
3) Używając drupal_add_js () w moim template.php.
Ale znowu, nie jestem pewien, czy można tam ustawić warunkowo?
źródło
Myślałem, że to było upieczone, ale było złe.
Wygląda na to, że motyw statku- matki korzysta z tej librabry.
IT robi rzeczy trochę inaczej niż ty, ale zasadniczo robi twoją opcję 1
Wygląda na to, że ten kod nie będzie działać, jeśli witryna nie znajduje się w obszarze /
Ale jeśli potrzebna jest biblioteka dla twojego motywu, nie widzę problemu z umieszczeniem kodu warunkowego w pliku page.tpl.php.
źródło
Użyłbym drupal_add_html_head () w template.php. Niestety, # 865536: drupal_add_js () nie ma opcji „przeglądarki”
źródło
Jeśli twój plik JS nie ma żadnych zależności, można go włączyć w następujący sposób do tagu head HTML:
Jeśli masz, powiedzmy, zależność jQuery, sensowne jest umieszczenie kodu na dole strony:
źródło