Exécuter code php selon mediaquery grâce au cookie

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Exécuter code php selon mediaquery grâce au cookie

    Bonsoir,

    J'alimente depuis un fichier js un cookie selon le résultat d'un mediaquery, afin de détecter si je suis sur un écran ou un mobile. En fonction du résultat j'initialise un cookie "smartPhone=1" ou smartPhone=0.

    function CheckMobile() {
    if (window.matchMedia('all and (max-width: 480px)').matches) {
    document.cookie = "smartPhone=1";
    } else {
    document.cookie = "smartPhone=0";
    }
    }

    Ensuite, je teste dans mon code php ce cookie, ce qui me permet de générer du code différent en fonction du périphérique.

    <?php
    $cookie_name = "smartPhone";

    if ($_COOKIE[$cookie_name]==1) {
    <h1>c'est un smartphone</h1>
    <?php
    } else { ?>
    <h1>ce n'est pas un smartphone</h1>
    <?php } ?>

    Mon problème est que je n'arrive pas à lancer ma fonction js que j'ai appelé "CheckMobile()". Comment faire cette vérif avant que le reste de la page ne soit exécutée ?

    Merci de votre aide !

  • #2
    Re : Exécuter code php selon mediaquery grâce au cookie

    Bonsoir

    As-tu déjà testé jQuery document.ready() ? Voir http://learn.jquery.com/using-jquery...ocument-ready/

    Il suffirait de coder là je pense.

    Ta fonction javascript sera exécutée dès que toute la page est chargée.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : Exécuter code php selon mediaquery grâce au cookie

      Bonsoir et merci pour ta reponse. Je vaus regarder jquery par contre j'ai besoin que le js soit exécuté au début car le code php qui s'exécute en fonction du type de périphérique me servira pour la mise en page des infos sur ma page. Est ce que quand tu dis que la fonction sera exécutée dès que toute la page edt chargée cela veut dire après mon php ?
      Merci encore

      Commentaire


      • #4
        Re : Exécuter code php selon mediaquery grâce au cookie

        Bonjour

        Je pense que tu as raté un prérequis : le code php s'exécute côté serveur et donc, il s'exécute avant que la page n'est soit envoyée par le serveur à ton navigateur. Donc, forcément, le code JS s'exécute, toujours, après.

        La seule manière d'exécuter du code php "pendant" le chargement de la page est de faire des requêtes asynchrones en ajax càd que tu vas charger une partie de la page; le navigateur va "croire" que la page est chargée mais va exécuter l'une ou l'autre requête javascript (ajax) pour récupérer du code additionnel. Peut-être un peu lourd pour ce que tu souhaites faire.

        Voici un exemple (trouvé à l'instant sur Google) pour expliquer ce que j'écris ci-dessus : http://stackoverflow.com/questions/1...tion-using-php


        As-tu déjà investigué pour voir si PHP ne pouvait pas récupérer la résolution ? Je n'ai jamais tenté, je ne sais pas si cela peut fonctionner. Toutefois PHP peut recupèrer des infos sur le navigateur (voir http://php.net/manual/fr/function.get-browser.php) et, sur base, p.ex., du nom du browser, tu pourrais présumer que c'est un smartphone ou pas.

        Le module pour Joomla module manager de NoNumber propose une telle liste : charger tel ou tel module selon qu'on soit sur smartphone ou pas => tu pourrais t'inspirer de cette liste.

        Bonne journée.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Re : Exécuter code php selon mediaquery grâce au cookie

          Bonjour,

          Pour bgmax, j'utilise le code ci-dessous que j'ai récupéré je ne sais plus où.
          C'est en gros la suggestion de Cavo

          Code:
              function isMobile() {
                  return preg_match("/(avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
              }
          UP, le plugin universel à découvrir sur https//up.lomart.fr
          bgMax
          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

          Commentaire


          • #6
            Re : Exécuter code php selon mediaquery grâce au cookie

            En gros mais en moins de mot :-)
            Christophe (cavo789)
            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

            Commentaire


            • #7
              Re : Exécuter code php selon mediaquery grâce au cookie

              salut
              je confirme ce qui a été dit
              tu peux te pencher sur Mobile_detect qui est un outil PHP pour la détection des appareils, très complet !


              Pour bgmax, j'utilise le code ci-dessous que j'ai récupéré je ne sais plus où.
              >> y a des chances de ça vienne de Mobile_detect

              CEd
              Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
              http://www.template-creator.com Outil de création de templates
              Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

              Commentaire


              • #8
                Re : Exécuter code php selon mediaquery grâce au cookie

                Bonjour,

                Tout d'abord un grand merci à tous pour la qualité de vos réponses et la réactivité !

                Je viens d'installer le plugin joomla de mobile_detect et ça semble fonctionner à merveille !!
                encore merci !!

                Commentaire


                • #9
                  Re : Exécuter code php selon mediaquery grâce au cookie

                  Tu passes ton post en Réglé ? Merci
                  Christophe (cavo789)
                  Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                  Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                  Commentaire

                  Annonce

                  Réduire
                  Aucune annonce pour le moment.

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X