it-swarm-eu.dev

Come aggiungere commenti condizionali per IE quando si includono CSS / JS?

Sto trasformando un modello HTML in un modello Joomla. Ho il seguente blocco in HTML:

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

Qual è il modo migliore di inserire questa istruzione condizionale in un oggetto JDocument?

3
Valentin Despa

Credo che quanto segue dovrebbe funzionare bene:

<?php $doc = JFactory::getDocument(); ?>
<!--[if lt IE 9]>
<?php
    $doc->addScript('https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js');
    $doc->addScript('https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js');
?>
<![endif]-->

Nota che ho definito $doc al di fuori dell'istruzione, nel caso in cui sia necessario altrove.

Aggiornamento ad esempio:

<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

<jdoc:include type="head" />

Spero che sia di aiuto

3
Lodder

Sembra che JDocument (in realtà JDocumentHTML) abbia un metodo nascosto: addCustomTag.

$customTag = <<<CUSTOM
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
CUSTOM;
$doc->addCustomTag($customTag);
4
Valentin Despa