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 :

fenêtres qui restent au-dessus


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 119
    Par défaut fenêtres qui restent au-dessus
    Bonjour,

    Un petit problème que je n'arrive pas à résoudre
    J'ai mon navigateur qui est ouvert, je clique sur un premier lien qui m'ouvre une popup. Je clique sur un second lien qui m'ouvre une seconde popup.
    Ce que je voudrais, c'est que la première popup reste au premier plan, de façon à ce que l'utilisateur puisse facilement comparer le contenu des deux popups.

    Pour vous donner une idée de ce que je veux faire, vous pouvez aller voir cette page et faites un test avec L122-12 comme référence du code actuel. Je voudrais que l'utilisateur puisse lire en même temps le texte actuel et le futur. Pour l'instant, dès que je clique de nouveau sur la fenêtre mère, je perds le focus.
    http://www.laloupiote.net/Cours/concordances3.php

    J'ai aussi réussi, avec Firefox, à conserver une popup au dessus de la fenêtre mère et qui affiche successivement plusieurs contenus appelés à partir de cette fenêtre mère, avec ce truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(popup.window.focus){popup.window.focus();
    , mais, visiblement, ça ne fonctionne pas avec IE
    http://www.laloupiote.net/Cours/concordances2.php

    J'ai exploré showModalDialog(), mais ça ne marche pas avec firefox (il semblerait que ça ne fonctionne qu'avec IE ?). J'ai essayé aussi l'attribut "modal=yes" dans window.open, mais ça ne marche pas non plus (ou je ne sais pas faire).
    Si vous aviez des pistes, simples, pour débutant, ça m'aiderait, parce que, moi tout seul, je sature...

    Bien cordialement,

    laloupiote

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(popup.window.focus){popup.window.focus();
    heu en gros tu lui dit que si il à le focus.. il a le focus ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 119
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    heu en gros tu lui dit que si il à le focus.. il a le focus ?
    C'est bien possible. J'ai trouvé ce code:

    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
    if(neo.focus){neo.focus();}
     
    <script type="text/javascript" language="javascript">
    function twNeowin(nUrl,nNom,w,h,nScroll){
      // Ouvrir un popUp
     
      // Centrer le popUp
      var winl = (screen.width) ? (screen.width-w)/2 : 0;
      var wint = (screen.height) ? (screen.height-h)/2 : 0;
      var options = 'width='+w+',height='+h+',top='+wint+',left='+winl+',scrollbars='+nScroll+',resizable=no';
     
      // Ouvrir le popUp
      neo=window.open(nUrl,nNom,options);
     
      // Forcer le focus sur un PopUp déjà ouvert
      if(neo.window.focus){neo.window.focus();}
    }
    </script>
    Pour appeler la fonction, vous devez faire ce lien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      <a href="javascript:twNeowin('corp1.htm','monPopUp',400,450,1)">Lien</a>
    et je n'ai rien trouvé d'autre pour résoudre le problème.
    Ça marche avec firefox et je cherche une solution pour ça marche avec IE

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Je pense que le code serait plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!popup.window.focus) { popup.window.focus(); }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 119
    Par défaut
    Citation Envoyé par sachav Voir le message
    Je pense que le code serait plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!popup.window.focus) { popup.window.focus(); }
    Il est vrai que fonctionne aussi bien (ou aussi mal, avec IE) que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(popup.window.focus) { popup.window.focus(); }
    En revanche,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!popup.window.focus) { popup.window.focus(); }
    , ne fonctionne pas. Il doit y avoir quelque chose qui ne va pas dans la rédaction de la condition, parce que, même avec firefox, la fenêtre s'ouvre une première fois au-dessus de la fenêtre mère, mais lorqu'on clique sur un second lien, elle reste dessous.

    Comment dire si la popup n'a pas le focus ?

    Ceci dit, je viens d'essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(popup.window.focus) { popup.window.focus(); } else {neo.window.focus();}
    Dans tous les cas, ça devrait forcer le focus sur la popup, non ? et bien sous IE 6, ça ne va pas

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Si vous voulez forcer le focus, pourquoi ne pas tout simplement dire "popup.window.focus()" sans condition ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/03/2009, 11h42
  2. Fenêtre qui s'ouvre au démarrage
    Par Ender dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 20/09/2005, 09h38
  3. Réponses: 9
    Dernier message: 16/08/2005, 10h53
  4. menu qui passe au dessus du texte
    Par peck dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/12/2004, 15h03
  5. [MFC] Ces fenêtres qui ne s'affichent pas..
    Par Davide dans le forum MFC
    Réponses: 3
    Dernier message: 19/11/2003, 11h30

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