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

JavaScript Discussion :

Accéder à la résolution d'un deuxième écran


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 30
    Points : 13
    Points
    13
    Par défaut Accéder à la résolution d'un deuxième écran
    Bonjour à tous !

    Je suis en train de faire une application flash en dualscreen dans deux pages HTML. Ne pouvant pas utiliser AIR dans une page HTML, j'essaie de trouver une alternative pour ouvrir la fenêtre du deuxième écran via javascript (que j'arrive à placer correctement en _x et _y). Concernant la première fenètre, pas de soucis, on accède facilement aux données techniques niveau affichage. Par contre, impossible d'accèder aux infos de l'autre.

    Je me suis aussi mis à l'ajax du coup qui propose beaucoup choses, donc si une solution existe plutôt dans cette techno, je suis preneur aussi, quitte à déplacer le topic

    Merci par avance pour vos réponses !

    Tux.

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Ça fait dix ans que je fais du JavaScript et je ne me suis jamais posé cette question: comment gérer plusieurs écrans ? C'est pourtant une question très pertinente et je m'étonne de trouver peu de ressources à ce sujet.

    Je viens de faire quelques tests assez amusants avec Chrome : si on prend une fenêtre de navigateur et qu'on la met à cheval entre deux écrans, la propriété screen.width prendra la largeur de l'écran dans lequel la fenêtre occupe la plus grande moitié. Cela soulève un tas de questions tant il y a d'installations possibles : positionnement vertical, diagonal, zones mortes, écrans en mode miroir, différences de DPI...

    L'API actuelle screen est insuffisante actuellement pour gérer correctement toutes ces problématiques.

    Plus précisément, par rapport à ton problème, quelques recherches sur le net semblent indiquer que c'est un casse-tête depuis des années. Il y a quand même quelques bonnes pistes :
    http://archive.cpradio.org/code/java...nd-windowopen/ (2007 )

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben personnellement, ça fait pas dix ans que je fais du JavaScript, mais je n'ai jamais eu besoin de l'objet screen et je vois mal en quoi il peut être utile à quelque chose si ce n'est à des fins statistiques...
    Les seules informations qui me semblent pertinentes si l'on considère JavaScript dans une page Web, ce sont les dimensions de la zone d'affichage...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Sujet déja abordé sur le forum
    http://www.developpez.net/forums/d87...ecran-sous-ie/

    on peut récupérer la résolution si le script est lancé depuis une fenêtre dans l'écran concerné, encore faut il pouvoir déterminer sur quel écran se trouve la fenêtre ...

  5. #5
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    De la même manière qu'il a été répondu à un autre internaute il y a peu qui demandait s'il pouvait savoir si un utilisateur était actif en dehors du navigateur : j'aurais tendance à dire que tout ce qui se situe en dehors du navigateur (je dirais même plus, en dehors de l'onglet concerné) ne peut et n'a pas vocation à être connu, l'environnement javascript se limite à la fenêtre concerné.

  6. #6
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    @Bovino: ce n'est pas parce qu'on en a pas eu le besoin jusqu'ici qu'il faut présumer que c'est inutile. Ce ne serait pas la première fois qu'on passe à côté de belles innovations simplement parce que l'on a pas poussé une idée. Maintenant que j'y réfléchis, optimiser la disposition d'une webapp multifenêtrée sur plusieurs écrans me paraît très intéressant. Je pense à certains périphériques récents comme le Yotaphone ou encore la Wii U ; qui sait, peut-être que ce genre d'appareils multi-écran va se démocratiser ?

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Je ne dis pas le contraire, c'est pour cela que je précisais "dans une page Web".
    Bien entendu, si c'est dans le cadre d'une application Windows 8, l'information est utile et importante, mais je ne sais pas si ça passe par la propriété screen de l'objet window.

  8. #8
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Etant donné que screen est au singulier, je suppose qu'il va falloir une nouvelle API

  9. #9
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    normalement JS s'arrête au contenu
    il déborde un peu en permettant d'agir sur la fenêtre et le navigateur

    mais hors de document il n'y a plus rien de garanti.
    le navigateur n'est pas obligatoirement un outil s'exécutant en mode fenêtré
    mais même si c'est le cas rien ne garanti que les actions sur les fenêtres ou sur le navigateur ait un effet quelconque.

    de plus en plus l'ouverture de fenêtre est remplacé par des onglets le positionnement n'a aucun effet
    le redimensionnement non plus.



    Mais j'ai beaucoup la formulation du problème
    "ouvrir la fenêtre du deuxième écran"
    Je ne savait pas que les écrans avaient des fenêtres...
    mais bon à supposer que le navigateur ait une autre fenêtre ouverte. même en imaginant avoir accès aux infos sur le deuxième écran la probabilité que le fonctions de manipulation de la fenêtre soit effective est très mince.

    de toute façon je reste persuadé que le bureau est celui de l'utilisateur
    c'est donc à lui de positionner les fenêtres comme il le souhaite. ce n'est pas un soft de le faire à sa place.

    car outre les deux écrans (j'en avais 3 à une époque) j'avais aussi 4 bureau virtuels

    ce qui fait 8 (12) "écrans" dans lesquels positionner une fenêtre.

    je ne vois pas comment un serveur ou un soft quelconque pourrait décidé sur le quel mettre la fenêtre.

    A+JYT

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Bonjour à tous.

    Je comprends tout à fait votre point de vue de l'utilisation "locale" du javascript, et je pense rester dans ce cadre. Deux pages HTML, une sur chaque écran, avec chacune leur swf et leurs fonctions javascript.

    Je donne plus de détails : c'est dans un contexte de formation, l'image sur retroprojecteur et le texte sur PC perso au formateur donnant des indications de cours, des points importants, des explications. Je sais pas pour vous mais moi je trouve l'idée vraiment très sympa et pédagogique (ce n'est pas la mienne, projet que j'essaie d'améliorer). J'ai au départ une page HTML de 2560*1024 pour deux écrans 19" (1280*1024) jusque là pas de souci, mais personne n'avait testé sur des écrans différents (résultat catastrophique), dans le cas d'une formation en externe avec une config complètement différente. Voilà l'objet de cette petite amélioration, application adaptable et consultable partout.

    Là où j'en suis actuellement, tout fonctionne parfaitement, mais la fenètre du deuxième écran s'ouvre par défaut en valeur fixe 1024*768, à défaut de savoir comment récupérer les dimensions de ce même écran. Après comme tu le dis sekaijin, cela n'empêche en rien au formateur de redimensionner lui même, mais sans cette manipulation, c'est quand même bien plus pratique.

    J'espère que vous comprenez mieux maintenant l'objectif. Flash ne pouvant pas accéder à mes besoins, je cherche une alternative.

    Tux.

    P.S : "ouvrir la fenêtre du deuxième écran" avec un petit effort de compréhension, il fallait comprendre "sur le deuxième écran" au même titre que j'ai fait un effort de compréhension sur le "Mais j'ai beaucoup la formulation du problème" l'erreur est humaine

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Petite info au passage :

    Sauf dans le cas où je me serai trompé (c'est toute à fait probable), ta proposition SpaceFrog

    on peut récupérer la résolution si le script est lancé depuis une fenêtre dans l'écran concerné, encore faut il pouvoir déterminer sur quel écran se trouve la fenêtre ...
    ne renvoie que la résolution de l'écran principale (1920*1080 -mainscreen- au lieu d'un 1280*1024 -2ème écran-)

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Chez moi selon la fenetre dans laquelle est affiché le navigateur j'ai une résolution différente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <html>
    <head>
    <script type='text/javascript'>
     
    function ss(){
     
     
    var aW=window.screen.availHeight
    var aH=window.screen.availWidth
     
    var W = screen.width;
    var H = screen.height;
     
    console.log( 'aW => ' +aW+'\n','aH => ' +aH+'\n','W => ' +W+'\n','H => ' +H+'\n')
     
    }
    </script>
    </head>
    <body onload="ss()">
     
    </body>
    <html>
    =>sur mon ecran secondaire
    aW => 768

    aH => 1024

    W => 1024

    H => 768
    => sur mon ecran proincipal
    aW => 1050

    aH => 1680

    W => 1680

    H => 1050

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Alors là je comprends pas. Moi j'ai deux fois 1920*1080. Petit détail, pas des moindre, est-ce que le fait que je sois sur IE8 pourrait poser un problème ?

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    tu déplaces bien le navigateur intégralement et alternativement dans chaque fenetre ?

    perso je suis encore sous 7 ... mais je ne pense pas que cela ait changé aussi drastiquement sous 8

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Je reste perplexe.

    J'ai mis ta fonction active à partir d'un bouton simple afin de pouvoir tester après déplacer la fenêtre sur un écran ou sur l'autre, et là mystère ça me renvoie du 720*1280 qui ne correspond ni à mon premier écran ni au second o_O'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <html>
    <head>
    <script type='text/javascript'>
     
    function ss(){
     
     
    var aW=window.screen.availHeight
    var aH=window.screen.availWidth
     
    var W = screen.width;
    var H = screen.height;
     
    			window.alert(aW);
    			window.alert(aH);
    			window.alert(W);
    			window.alert(H);
     
    }
    </script>
    </head>
    <body>
    <INPUT TYPE="button" NAME="bouton" VALUE="Résolution" onClick="ss()">
     
    </body>
    <html>
    Info : je fais du window.alert, j'ai pas de console ou du moins je ne sais pas comment ça s'utilise :/

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    Hello, je crois que je me suis mal exprimé, j'utilise Internet Explorer 8, après je suis allé jeter un coup d'oeil mais Firebug semble être pour Firefox, peut-être je me trompe. Quand tu dis 7, est-ce que tu parles pas par hasard de Windows 7 ?

    Ce qui expliquerait que tu puisses faire remonter ces infos correctement sous FireFox et que tu aies une console et pas moi

  18. #18
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    oui je parle de W7 et W8
    je suis en effet sous ffx ou chrome comme tout developpeur web qui a un tant soi peu de self estime

    après pour du dev local sous un OS spécifique avec un navigateur contraint ... mes condoléances.

    il existe cependant une console sous IE http://www.sitepoint.com/debug-faste...et-explorer-9/

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 30
    Points : 13
    Points
    13
    Par défaut
    comme tout developpeur web qui a un tant soi peu de self estime
    Si ça peut te rassurer, ces logiciels me sont imposés (logiciels testés et validés) avec impossibilité d'installer autre chose, même des versions portables, restrictions OTAN obligent. En exagérant beaucoup, mon contexte, c'est comme si tu essayais de construire un gratte ciel avec un sceau et un couteau suisse. La probabilité d'arriver au résultat souhaité est quasi nulle. Mais bon j'ai pas le choix alors je compose avec ce que j'ai.

    Mais bon, si je pouvais utiliser d'autres soft, je m'en priverai pas, d'ailleurs je serai pas là en train de poser des questions puisqu'avec Firefox ça fonctionne parfaitement !

    Sinon pour l'histoire de la console, yen a une sous IE8, enfin bon 3 pauvres onglets, ça m'apporte pas grand chose, si ce n'est de tracer les erreurs.

    Enfin voilà un peu de compassion ! Si vous avez d'autres pistes je suis toujours preneur !

    Je vous tiens au courant si j'ai du nouveau

    Tux.

  20. #20
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Je crois que la manip manuelle de déplacement de la fenêtre par l'utilisateur reste la meilleure option actuellement.

Discussions similaires

  1. [XL-2007] Accéder à la Résolution d'écran avec Excel
    Par ramdir2 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/12/2010, 09h39
  2. Résolution utile de l'écran
    Par GPZ{^_^} dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/11/2006, 18h53
  3. tooltip s'affiche parfois sur le deuxième écran
    Par jdewalqu dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 25/08/2006, 10h35
  4. Ajout d'un deuxième écran
    Par elkhy dans le forum Windows XP
    Réponses: 2
    Dernier message: 06/08/2006, 20h36
  5. Résolutions accéptées par l'écran
    Par Matt2094 dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 22/03/2006, 09h22

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