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 :

FF/IE sur des evenement d'une nouvelle fenetre


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Janvier 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 101
    Par défaut FF/IE sur des evenement d'une nouvelle fenetre
    Bonjour,

    J'ai fait un code qui marche bien sous Firefox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //selectionWindow est une variable globale
    selectionWindow=window.open('CategorySelector.php','_blank');
     
    selectionWindow.onload=function(){
    	...
    };
     
    selectionWindow.onblur=function(){
    	selectionWindow.close();
    };
     
    selectionWindow.onclick=function(){
    	...
    };
    Le code de chaque fonction est bien executé pour les evenements de la fenetre ainsi ouverte. Seulement sous IE je n'ai pas d'erreur particulière mais le code n'est pas executé aux evenements (j'ai essayé en mettant des alert(), ca fait rien).
    Je me demande a quel niveau est l'erreur. Faut il écrire differement pour IE ? IE ne gère pas les evenements sur les fenetres ouvertes de cette facon ?

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    essaye voir avec cette syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var selectionWindow=window.open('CategorySelector.php','_blank');
     
    selectionWindow.document.onload=function(){
    	...
    };
     
    selectionWindow.document.onblur=function(){
    	selectionWindow.close();
    };
     
    selectionWindow.document.onclick=function(){
    	...
    };
    Par contre avec Firefox... je ne suis pas sûr que ça marche

    Le problème avec ce script est que chaque fois que l'un de ces événements se produira dans la fenêtre fille, le focus reviendra systématiquement sur la fenêtre parent.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Janvier 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 101
    Par défaut
    Merci de la réponse, en effet ca fonctionne mieux sous Internet Explorer avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    selectionWindow.document.on...
    Et en effet ca ne marche plus sous Firefox. Bon le problème se résout facilement avec un if(condition) avec condition qui est vraie seulement pour Internet Explorer.
    Seulement le selectionWindow.document.onload=function() ne fonctionne pas sous internet explorer, les autres évenement oui. Comment ca se fait ?

    Mon but a travers ce script etait de pouvoir echanger des variables entre la fenetre fille et la fenetre parente, je sais pas si j'ai choisit la meilleure solution mais ca fonctionne comme je veux sur FF.

    Sinon comment on peut savoir ces petits détails de javascript ? Je débute plutot sur le Javascript (j'ai beaucoup plus d'experience en PHP bien que ce soit pas de la même utilité), mais j'ai du mal à trouver de la doc sur le DOM, les evenements, le javascript en général, etc...

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    dans ce cas tu peux t'inspirer de ce code :
    http://www.developpez.net/forums/sho...8&postcount=74
    regarde également ceci :
    - variables globales http://www.developpez.net/forums/sho...53&postcount=2
    -http://www.developpez.net/forums/sho...64&postcount=4


    autre exemple :
    mere.htm
    Code html : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    var fenFille;
    setTimeout(function(){fenFille = window.open("fille.htm","","")},"2000");
     
    var chargeOk = "false";
     
    function transfertVersFille()
    {
      if (chargeOk=="true")
      {
        var data = prompt("Entrez une valeur");
        fenFille.dataF = data;
        fenFille.chaine = "ceci est un test";
        fenFille.affiche();
      }
      else
          alert("Attendez que la fenêtre fille soit chargée !!");
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <input type="button" value="Bouton" onclick="transfertVersFille()">
     
    </body>
     
    </html>

    fille.htm
    Code html : 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
    27
    28
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    var dataF;
    var chaine;
     
    function affiche()
    {
     document.write(dataF+" "+chaine);
    }
    function charge()
    {
     window.opener.chargeOk = "true";
    }
    //-->
    </script>
     
     
     
    </head>
     
    <body onload="charge()">
     
    </html>

    Ouvre mere.htm ; fille.htm va s'ouvrir également au bout de 2 secondes (setTimeout). Si tu cliques sur le bouton avant le chargement de fille.htm un message d'erreur apparaît (chargeOk est égal à "false"). Lorsque le chargement est complet (chargeOk passe à "true", cf.script de fille.htm), tu peux transmettre les informations via le prompt et exécuter les fonctions (cf.script de mere.htm).

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Janvier 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 101
    Par défaut
    Ok merci ca me donne des alternatives.
    Sinon tu ne sais pas pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    selectionWindow.document.onload=function(){
    	...
    };
     
    selectionWindow.document.onblur=function(){
    	...
    };
    Ne marchent pas alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    selectionWindow.document.onclick=function(){
    	...
    };
    marche ?

    Le truc c'est que j'ai même pas un message d'erreur pour m'avancer...

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    essaye voir avec document.body

    onload, onclick, on... sont des événements qui se déclenchent dans le body.

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

Discussions similaires

  1. Evenements sur des JLabel dans une JList
    Par Tibo dans le forum Composants
    Réponses: 6
    Dernier message: 30/06/2006, 11h06
  2. Réponses: 16
    Dernier message: 15/05/2006, 14h49
  3. Réponses: 4
    Dernier message: 03/02/2006, 23h51
  4. [WD9] Cliquer sur des enregistrements dans une table
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 20h11

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