1485 sujets

Web Mobile et responsive web design

Bonjour,

Je souhaite afficher une video en background à l'aide de tubular.js uniquement sur desktop.

Ca fonctionnait plutôt bien jusqu'à ce que j'essaie de ne pas charger la vidéo sur mobile à l'aide de mobile_detect.php.

Voici mon code pour la condition php:


<?php include_once('tmpl/mobile_detect.php');
    $detect = new Mobile_Detect(); 

    if ( $detect->isMobile() ) {
		echo '<div id="background-mobile">image</div>';
    }
    else 
		echo '<script type="text/javascript" charset="utf-8" src="http://tst.allwewish.org/wp-content/themes/twentyfourteen-child/tubular/js/jquery.tubular.1.0.js"></script>';
		echo '<script>$().ready(function() {$(\'#page\').tubular({videoId: \'T1A2GrvFJ1w\'});});</script>';
    }
?>


Le résultat est que rien ne s'affiche plus ni sur desktop ni sur mobile. A voir, par exemple ici Il doit y avoir une erreur dans l'appel du script avec echo, j'ai pourtant placé des \ avant les ' mais je ne suis qu'un pauvre amateur et j'ai sans doute oublié quelque chose.

Ce mobile_detect fonctionne par ailleurs plutôt bien pour une redirection de ma page d'accueil quand le visiteur utilise un smartphone ou une tablette.

J'espère que l'un d'entre vous pourra m'aider...

Bonne journée,
Modifié par Tche111 (16 May 2016 - 11:58)
Administrateur
Bonjour,

il manque une accolade ouvrante après le else. Si tu as une bonne grosse erreur PHP c'est ça...
À part ça, au lieu d'avoir à échapper les apostrophes, tu peux utiliser des guillemets.
Enfin le 1er script n'a pas besoin des attributs
 type="text/javascript" charset="utf-8" 

si le doctype de ta page est HTML5 et le charset déjà utf-8 (enfin je ne connaissais même pas cet attribut charset sur un élément script à vrai dire...)
L'attribut src seul suffit.
Modifié par Felipe (16 May 2016 - 23:19)