IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

CGI: Recuperer la résolution du navigateur


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Par défaut CGI: Recuperer la résolution du navigateur
    Bonjour,

    Je cherche à connaitre la résolution du navigateur à partir de mon source en CGI, afin de réduire ma page si la largeur de l'écran est inférieure à un certain seuil.

    j'arrive à le faire en javascript, mais impossible de le récupérer depuis le CGI sans passer par des cookies ou autre

    Il n'y a pas une variable d'environnement contenant ca que je puise récupérer? j'avais trouvé HTTP_SCREEN_RESOLUTION, qui ne semble pas fonctionner

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    Autant que je sache, le Javascript fonctionne sur la machine du client. Ce n'est donc pas difficile de récupérer ces informations. Par contre, avant de passer par la C.G.I., ton client doit déjà envoyer lui-même ces infos à ton serveur et il n'y a rien, à ma connaissance, qui permettent de passer ces informations par les headers H.T.T.P. standard. Rien ne peut l'obliger à le faire, d'ailleurs (sinon, il y aurait beaucoup d'autres infos qu'il faudrait passer).

    Cependant, dans la majorité des cas, tu ne devrais pas avoir besoin de le savoir. C'est à la C.S.S. de s'adapter à son environnement.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Cependant, dans la majorité des cas, tu ne devrais pas avoir besoin de le savoir. C'est à la C.S.S. de s'adapter à son environnement.
    Je suis d'accord pour le style de la page web. Mais mon appli pourra aussi bien tourner sur un PC, une tablette ou un smartphone/PDA. Dans ce dernier cas, ma barre de menu est trop petite, et les onglets se superposent. Je voudrai donc connaitre la résolution, pour afficher "Gestion du compte XXX" sur les écrans >800px, et uniquement "Compte" pour les plus petits.

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Il me semble que gérer ça en javascript sur le client, comme tu l'as proposé au début, est la façon la plus naturelle de faire. Tôt ou tard, on se heurtera à des problèmes de mise en page en fonction de la résolution du client. On peut poser des rustines, mais ça ne sera jamais que du bricolage. Il faut l'avoir en tête avant d'écrire le premier bout de code.

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    Citation Envoyé par link66 Voir le message
    Je suis d'accord pour le style de la page web. Mais mon appli pourra aussi bien tourner sur un PC, une tablette ou un smartphone/PDA. Dans ce dernier cas, ma barre de menu est trop petite, et les onglets se superposent. Je voudrai donc connaitre la résolution, pour afficher "Gestion du compte XXX" sur les écrans >800px, et uniquement "Compte" pour les plus petits.
    Tu peux quand même contrôler l'user agent pour savoir à quel type de navigateur tu as affaire, et envoyer la bonne C.S.S. en conséquence. Ensuite, c'est à lui de se débrouiller.

    Dis-nous plutôt comment tu voudrais que ta page réagisse dans ce cas précis, il y a peut-être moyen de faire cela en C.S.S. proprement pour tous les clients.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Par défaut
    Sur mon PC en résolution 1440*900, j'ai ma barre de liens qui resemble à ca:



    Sur mon téléphone avec une largeur de 530 pixels (mode paysage), la barre devient comme ca:



    Et quand on passe en mode portrait, les buttons de liens prennent toute la place.

    Ce que je voudrais faire, c'est changer le nom de mes boutons en fonction de la largeur de l'écran: écran suffisamment large, barre standard, sinon on raccourci les noms, ou on les remplace éventuellement par des icônes.

    Je dois pouvoir le faire en passant par du JS, mais le faire directement dans mon code source aurai été mieux =)

    Je me sert déja du USER_AGENT pour savoir si le client utilise par exemple un ipad.

    Quand j'ouvre ma page avec mon telephone, je recupere ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mozilla/5.0 (Linux; U; Android 2.2; fr-fr; Liquid Metal Build/MASTER) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 Acer_S120/Acer_LiquidMetal_1.000.09_EMEA_SFR
    Savoir que j'ai un OS Android ou un navigateur mobile n'est pas une bonne référence, ca peut aussi bien définir un téléphone portable qu'une tablette Archos 10 pouces, laquelle n'aura aucun problèmes d'affichage

    A moins de trouver une solution miracle, je vais le faire en javascript
    Images attachées Images attachées   

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    Il te faut un point de référence commun. Souvent, c'est la taille de la fonte par défaut. D'ailleurs, si ce n'est pas le cas, il faudrait que le contenu de tes boutons soit réellement écrit, et ne soit pas une image statique.

    Il faudrait déplacer ce fil dans le forum C.S.S. désormais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperer la langue du navigateur
    Par maloups dans le forum JSF
    Réponses: 1
    Dernier message: 13/09/2007, 21h11
  2. CGI - recuperer une valeur "post"
    Par kohsaka dans le forum C++
    Réponses: 1
    Dernier message: 07/09/2007, 06h36
  3. [JSP] Récupérer la langue du navigateur sans js
    Par Snivel dans le forum Struts 1
    Réponses: 2
    Dernier message: 31/03/2006, 17h56
  4. Réponses: 6
    Dernier message: 30/06/2005, 16h16
  5. recuperer la résolution de l'écran
    Par florent dans le forum C++Builder
    Réponses: 11
    Dernier message: 07/06/2002, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo