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

Servlets/JSP Java Discussion :

Gérer plusieurs fenêtres de navigateur


Sujet :

Servlets/JSP Java

  1. #1
    Membre expérimenté
    Avatar de (Benoit)
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 184
    Par défaut Gérer plusieurs fenêtres de navigateur
    Bonjour à tous,

    Je ne sais pas comment aborder ce problème technique...

    J'ai un bean UserPreferences qui stocke des informations de positionnement de blocs de contenus de l'interface. C'est l'utilisateur qui décide du "layout" de la page.

    Par exemple dans une page JSF j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="resizableMenu1" 
    style="height:#{userPreferences.navigationVerticalPosition}px;">
    ...du contenu...
    </div>
    Ca, ça fonctionne bien.
    Par contre, on me demande qu'un même utilisateur puisse avoir plusieurs navigateurs ouverts sur cette même appli. Chaque fenêtre doit être indépendante et avoir son propre "layout".

    Comment faire en sorte que le Bean soit géré "à la fenêtre" ?
    Car actuellement, sur les x fenêtres, lorsque je fais référence à #{userPreferences.navigationVerticalPosition} , j'obtiens toujours la même valeur, or je voudrais avoir 1 bean userPreferences par fenêtre ouverte. Voyez le problème ?

    Merci de vos idées et suggestions !

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par (Benoit) Voir le message
    Par contre, on me demande qu'un même utilisateur puisse avoir plusieurs navigateurs ouverts sur cette même appli.
    Pour plusieurs navigateurs, ca ne pose pas de problème, stocke ton bean en session scope. La session n'est pas partagée entre navigateurs.
    Pour détecter plusieurs fenetre au sein d'une même instance d'un navigateur, c'est impossible. Rien dans le protocole http ne te permet de faire la différence entre une url tappée dans une fenetre et la meme url tappée dans une autre.

    Certains framework utilisent bien un scope intermédiaire entre la session et le request, le "dialog", mais ils le font en passant d'url en url un numéro d'identifiant du dialogue. Ca ne t'aidera pas dans le cas où l'utilisateur fait "ouvrir dans une nouvelle fenetre" (le deux fenetres auront le même dialogue) ou quand l'utilisateur utilise ses bookmarks (tu perd alors le dialogue).

    Si vraiment c'est un besoin important de ton client de pouvoir naviguer sur l'application avec deu layouts en parallèles, il reste la possibilité de démarrer plusieurs instance de firefox en parallèle, chacune sur un profile différent, avec la ligne de commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    firefox -ProfileManager -no-remote
    Le no-remote empeche de se connecter à l'instance de firefox déjà en fonctionnement, le ProfileManager permet choisir un autre profil (nécessaire, un même profil ne peux pas servir deux fois en parallèle)

  3. #3
    Membre expérimenté
    Avatar de (Benoit)
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 184
    Par défaut
    Un grand merci tchize.

    Je suis arrivé exactement aux mêmes conclusions après d'intensives recherches sur le web.

    Rien dans le protocole http ne te permet de faire la différence entre une url tappée dans une fenetre et la meme url tappée dans une autre.
    -> Cette info, que tu résumes parfaitement, j'ai mis une matinée à la trouver !

    Effectivement, dans mon appli, la nouvelle fenêtre s'ouvrira via un javascript window.open. Donc dans la même session. Et je n'ai pas trop envie de bidouiller pour stocker un identifiant de fenêtre qui se ballade d'url en url.

    Donc : impossible à faire. Je demanderais aux utilisateurs d'ouvrir eux-même une deuxième instance de leur cher IE6...

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

Discussions similaires

  1. Gérer plusieurs fenêtres internes
    Par JULROMEOX2015 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/06/2015, 20h20
  2. Gérer plusieurs fenêtres avec AWT
    Par The_GuiGui dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 09/04/2015, 20h51
  3. Gérer plusieurs fenêtres
    Par juniordev dans le forum Débuter
    Réponses: 1
    Dernier message: 09/10/2014, 14h55
  4. Comment gérer plusieurs langues ?
    Par InterSQL dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/02/2004, 16h12
  5. Comment gérer plusieurs icones dans son exécutable ?
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2003, 10h49

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