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 :

Comment lancer une fonction présente sur une autre page ?


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 283
    Points : 91
    Points
    91
    Par défaut Comment lancer une fonction présente sur une autre page ?
    Hello
    J'ai une page principale contenant une iFrame. Je cherche à lancer une fonction présente dans cette iFrame via la page principale, le tout sous IE ?
    Ququ connait il une astuce ?

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    bonjour,

    Pour cela, il faut transmettre à la page parent (contenant l'iframe) les propriétés de la page affichée dans la frame.

    a.htm (page parent)
    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 winIFrame = null;
     
    function fonction1()
    {
      if (winIFrame!=null)
           winIFrame.coucou();
    }
     
    function fonction2()
    {
      if (winIFrame!=null)
          winIFrame.salut();
    }
     
    //-->
    </script>
     
    </head>
     
    <body>
     
    <iframe src="b.htm">
    </iframe>
     
    <input type="button" value="Coucou" id="idButton" onclick="fonction1()">
    <input type="button" value="Salut" id="idButton" onclick="fonction2()">
     
    </body>
     
    </html>


    b.htm (page affichée dans l'iframe)
    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
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function chargeIFrame(frame)
    { 
      parent.winIFrame = frame;
    }
     
    function coucou()
    {
     alert("coucou !!");
    }
     
    function salut()
    {
     alert("salut !!");
    }
    //-->
    </script>
     
    </head>
     
    <body onload="chargeIFrame(this)">
    iframe
     
    </body>
     
    </html>

    Attention : cela suppose que les fonctions coucou() et salut() existent.

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 283
    Points : 91
    Points
    91
    Par défaut
    merci ! Je teste cette manip

  4. #4
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 283
    Points : 91
    Points
    91
    Par défaut
    Super, ca marche nickel ! Merki

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

Discussions similaires

  1. [AJAX] [XAJAX] Lancer une fonction JS dans une fonction AJAX
    Par sixieme-sens dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/12/2008, 15h26
  2. Réponses: 5
    Dernier message: 22/05/2008, 14h42
  3. Réponses: 2
    Dernier message: 26/04/2008, 17h31
  4. Réponses: 3
    Dernier message: 25/10/2007, 11h47
  5. Réponses: 5
    Dernier message: 29/06/2006, 17h23

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