Détection résolution écran

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par toto2525, 22 Juin 2011.

  1. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    Salut,

    Je souhaite connaitre la résolution d'écran de mes internautes, j'ai lu qu'avec php ce n'était pas possible et qu'il fallait passer par du javascript (screen.height; et screen.width;) et une redirection de l'url pour y arriver. Mais je ne souhaite pas utiliser la redirection d'url pour détecter cette résolution, j'ai donc écrit ce bout de code :
    Code:
    <script type="text/javascript">
    <!--
    Ecran = screen.height;
    if(Ecran<=600){<?php $hauteur_ecran = 500;?>}
    if((Ecran>600)&&(Ecran<=800)){<?php $hauteur_ecran = 700;?>}
    if(Ecran>800){<?php $hauteur_ecran = 800;?>}
    //-->
    </script>
    <?php echo $hauteur_ecran;>
    
    ça m'affiche "800" alors que mon écran est en 1280x800 pixel, ça devrait m'afficher "700", je pige pas mon erreur :(

    Je souhaite pouvoir mettre la résolution (500, 700 ou 800) dans une variable php pour pouvoir l'utiliser plus bas dans mon code php.

    Merci pour votre aide.
     
  2. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 371
    J'aime reçus:
    2
    Tu as mis <= 800 donc la deuxième condition est réalisée, et le test s'arrête là
    En mettant <800 la deuxième condition ne sera pas réalisée
     
  3. Dan_A
    Dan_A WRInaute discret
    Inscrit:
    21 Décembre 2005
    Messages:
    193
    J'aime reçus:
    0
    Il manque quelque chose au code car, normalement, javascript est interprété côté navigateur donc utilisateur et php côté serveur.
    Il n'est pas possible d'obtenir une valeur utilisée plus bas!
     
  4. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    Merci pour vos réponses.

    Ca change rien, mon écran à une hauteur de 800 pixel, tu dois donc laisser <= 800 sinon il n'y aura pas de cas pour un écran de 800.

    N'est-il pas possible en javascript de créer des variables que l'on puisse ré-utiliser plus tard dans le code ?
     
  5. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 249
    J'aime reçus:
    0
    Faut passer à l'Ajax alors pour la communication entre javascript/php

    Ton code javascript est executé bien longtemps après que le moteur PHP ait construit la page, ça ne fonctionnera donc pas ^^
     
  6. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    Un truc fou :

    Code:
    <script type="text/javascript">
    <!--
    Ecran = screen.height;
    if(Ecran<=600){document.write('<?php $hauteur_ecran = 400;?>');}
    if((Ecran>600)&&(Ecran<=800)){document.write('<?php $hauteur_ecran = 500;?>');}
    if(Ecran>800){document.write('<?php $hauteur_ecran = 600;?>');}
    //-->
    </script>
    <?php echo $hauteur_ecran;?>
    
    Ca affiche "600".

    Mais ça :

    Code:
    <script type="text/javascript">
    <!--
    Ecran = screen.height;
    if(Ecran<=600){document.write('400');}
    if((Ecran>600)&&(Ecran<=800)){document.write('500');}
    if(Ecran>800){document.write('600');}
    //-->
    </script>
    
    Ca affiche "500".

    Punaise...............
     
  7. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    Je connais pas l'ajax, est-ce que ça serait compliqué de détecter la résolution d'écran en Ajax ?
     
  8. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 249
    J'aime reçus:
    0
    C'est normal puisque php va attribuer plusieurs valeurs à $hauteur_ecran sans prendre en compte ou même lire les conditions:

    $hauteur_ecran = 400;
    $hauteur_ecran = 500;
    $hauteur_ecran = 600;
    Dernière valeur 600 -> Ca affiche "600". cqfd
     
  9. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 249
    J'aime reçus:
    0
    Oui, si JavaScript peut faire un truc, grâce à l'ajax il peut envoyer la donnée à PHP.
    Je t'invite à aller lire quelques tutos sur google ^^ Et en production à utiliser le framework jQuery qui rend l'ajax très simple.

    Au fait tu veux récupérer la résolution pour faire quoi ? Ca se trouve tu n'en as même pas besoin ^^
     
  10. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    J'utilise jQuery sur ma page :D , quel serait le code pour détecter la résolution d'écran ?
     
  11. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 249
    J'aime reçus:
    0
    Celui que tu possèdes déjà, faut juste l'envoyer à une page PHP en ajax.
    Bonne recherche :)
     
  12. Benoit1
    Benoit1 WRInaute passionné
    Inscrit:
    6 Août 2004
    Messages:
    1 135
    J'aime reçus:
    0
    La détection de Google analytics ne te convient pas ???

    Enfin, si tu utilises GA...
     
  13. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 249
    J'aime reçus:
    0
    Si tu pouvais répondre ^^
     
  14. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    j'ai un lien html en javascript (qui ouvre une popup) et dans ce lien javascript il y a les dimensions de cette fenêtre popup, je voudrais pouvoir redimensionner cette popup en fonction de la résolution d'écran de mes internautes. Cette popup affiche des videos flash (swf) et des photos.

    Voici le style de lien javascript que j'utilise pour ma popup :

    Code:
    <a href='javascript:PopupCentrer("../images.php?ref=332",700,600)'>Cliquez pour agrandir l'image</a>
    Dans cet exemple la fenêtre popup aura une dimension de 700x600 mais si un internaute a une résolution de 1024x768 je voudrais que cette popup soit redimensionnée à 500x400 donc remplacer dans mon lien ci-dessus le "700,600" par "500,400" mais pour ça il fautconnaitre la résolution d'écran... pour lui mettre les bons paramètres dans le lien.
     
  15. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 249
    J'aime reçus:
    0
    Et tu peux pas tout faire en javascript sans faire appel à PHP ? Car ca te simplifierait tout !
     
  16. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 833
    J'aime reçus:
    246
  17. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    Mon souci c'est que j'ai un sorte de carousselle dans lequel est diffusé une vidéo flash ainsi que des photos, pas de soucis avec les photos tu peux utiliser ce type de lightbox mais dans mon cas c'est mixte (flash + images) et là c'est beaucoup plus problématique de faire fonctionner une lightbox à la fois pour du flash et des images, j'en ai testé pas mal de lightbox et aucune ne fait les 2 à la fois :?

    J'ai une vidéo flash en format réduit qui tourne et tu ne peux pas rendre cliquable cette vidéo avec une lightbox comptatible (flash + images).... donc je suis obligé de passer par un lien javascript externe à ma video flash pour proposer aux internautes d'agrandir cette video dans une fenêtre popup.... mais j'ai trouvé une solution à mon problème que voici :

    Code:
    <script type="text/javascript">
    <!--
    Ecran = screen.height;
    if(Ecran<=600){document.write('<a href='javascript:PopupCentrer(&#034;../images.php?ref=332&#034;,400,300)'>Cliquez pour agrandir l'image</a>');}
    if((Ecran>600)&&(Ecran<=800)){document.write('<a href='javascript:PopupCentrer(&#034;../images.php?ref=332&#034;,500,400)'>Cliquez pour agrandir l'image</a>');}
    if(Ecran>800){document.write('<a href='javascript:PopupCentrer(&#034;../images.php?ref=332&#034;,600,500)'>Cliquez pour agrandir l'image</a>');}
    //-->
    </script>
    
    On détecte (sans redirection d'url) la résolution d'écran et on inclut le bon lien javascript avec les bonnes dimensions de ma fenêtre popup, et ça marche parfaitement :p Alors certe la vieille popup n'est pas très tendance mais bon elle a le mérite de fonctionner avec tout type de support (flash et images) ce qui n'est pas le cas des très tendance lightbox.... :mrgreen:
     
  18. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 417
    J'aime reçus:
    0
    ne pas oublier que, maintenant, les navigateurs ne sont pas toujours utilisés en plein écran, par exemple une barre d'outils sur FF diminue la hauteur,...
     
  19. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 833
    J'aime reçus:
    246
    Bah si il y a des scripts qui supportent les 2, cfr. les filtres par features.
     
  20. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    J'ai pas pigé ta réponse :? , c'est quoi "les filtres par features" ?

    Connais-tu une lightbox qui te permet d'afficher une image puis une video flash puis une image sans fermer et relancer l'ouverture de ta lightbox ?
     
  21. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 833
    J'aime reçus:
    246
    Ça avait rapport avec le lien que je t'avais filé: http://planetozh.com/projects/lightbox-clones/

    Je ne saurais pas te dire, il faut tester ;)
     
  22. toto2525
    toto2525 WRInaute occasionnel
    Inscrit:
    20 Septembre 2007
    Messages:
    345
    J'aime reçus:
    0
    Je crois que tu m'avais déjà donné ce lien dans un autre post et j'avais testé la quasi totalité des lightbox présentes sur cette page et qui étaient compatibles flash + images mais aucune ne permet d'afficher à la fois de images + du flash sans fermer et relancer la lightbox, d'ou ma grande déception et frustration..... j'ai pleuré de longues nuits et me disant « maman quel monde cruel ».... et puis j'ai remonté les manches et je me suis plongé la tête dans le cambouis, y a rien de tel qu'une bonne dose de javascript + php et là bingo, je trouve MA solution à MON problème : comme quoi et comme disait notre ami Balou « il en faut peu pour être heureux, vraiment très peu pour être heureux, il faut se satisfaire d'un peu de javascript et de php .... »....
     
Chargement...
Similar Threads - Détection résolution écran Forum Date
Détection tablette marche pas Développement d'un site Web ou d'une appli mobile 1 Juillet 2019
Détection Google de réseau de sites avec un même compte Search Console Netlinking, backlinks, liens et redirections 16 Novembre 2018
Détection des vidéos en doublon sur YouTube [brevet Google] YouTube, Google Images et Google Maps 11 Janvier 2017
Détection des mobiles, pour AMP Google : l'entreprise, les sites web, les services 12 Décembre 2016
SEO : détection des pages trop profondes avec myrankingmetrics Débuter en référencement 20 Avril 2016
Site multirégional et multilingue : Détection et stratégie Référencement international (langues, pays) 18 Janvier 2015
Détection de la pénalité suroptimisation Problèmes de référencement spécifiques à vos sites 5 Septembre 2014
Détection flash chez le client Développement d'un site Web ou d'une appli mobile 26 Juin 2014
Site multilanguage detection par Localisation ou par Langue? Référencement international (langues, pays) 8 Juin 2014
Plus de détection dans Google Analytics Google Analytics 3 Mai 2014
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice