29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
29-01-2012 : Parce que nous sommes un peuple debout, agissons pour rester dignes et responsables !
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Langage eZ Publish / eZ Publish : insertion conditionnelle de javascript





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox

eZ Publish : insertion conditionnelle de javascript

Date de publication: le vendredi 7 novembre 2008 à 08h47
Dernière modification: par Pascal BOYER le jeudi 13 octobre 2011 à 14h14
« Article précédent: eZ Publish : convertir une chaîne de caractères en tableau
» Article suivant: eZ Publish : faire un fetch conditionnel

Comment insérer un javascript en fonction du navigateur

Pour insérer ou appeler un javascript en fonction du navigateur qui affiche la page, placer ces lignes de code directement dans le template de vue ou dans le template principal pagelayout.tpl :

<script language="JavaScript" type="text/javascript">
    <!--
        if ( window.ie ) // SI LE NAVIGATEUR EST Internet Explorer
            {ldelim}
                document.write( '<script type="text/javascript" src="/chemin/du/javascript/monJavasctip1.js" language="JavaScript"><\/script>');
            {rdelim}
        else                // SINON
            {ldelim}
                document.writeln('<script type="text/javascript" src="//chemin/du/javascript/monJavasctip2.js" language="JavaScript"><\/script>');
            {rdelim}
        //-->
</script>

Autre syntaxe possible:

<script language="JavaScript" type="text/javascript">
<!--
    if ( window.opera )
        {ldelim}
            document.write( '</span><script type="text/javascript" src="/chemin/du/javascript/monJavasctip1.js" language="JavaScript"><\/script><span class="line">');
        {rdelim}
    else if ( window.ie )
        {ldelim}
            document.writeln('</span><script type="text/javascript" src="/chemin/du/javascript/monJavasctip2.js" language="JavaScript"><\/script><span class="line">');
        {rdelim}
    else
        {ldelim}
            document.write( '</span><script type="text/javascript" src="/chemin/du/javascript/monJavasctip3.js" language="JavaScript"><\/script><span class="line">');
        {rdelim}
//-->
</script>

Dans les deux cas, l'emploi de la méthode writeln n'est pas une obligation et peu tout à fait être remplacé par write .

Dans ces deux exemples, la syntaxe est adaptée aux templates de eZ Publish.

Syntaxe d'insertion d'un javascript dans un template

:
Les deux balises <!-- et //--> qui encadrent directement le code javascript sont très importantes car elles permettent dans de nombreux cas de ne pas engendrer d'erreur de syntaxe lorsque l'on utilise l' outil de validation HTML du W3C .

Commentaires