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 :

Exécution d'un javascript après affectation dynamique de source d'iframe


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2011
    Messages : 136
    Par défaut Exécution d'un javascript après affectation dynamique de source d'iframe
    Dans ma page principale, je déclare un iframe avec une source vide par
    <iframe id="monId" src="" ...> .
    J'affecte une valeur à la source dynamiquement à un moment donné.

    Je voudrais faire en sorte qu'àprès le chargement de l'iframe avec sa nouvelle source, un script javascript s'exécute dans ma page principale (après que la page iframe soit entièrement chargée).
    Est-ce possible ?
    Merci à celui qui me résoudra ce problème...

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Par défaut
    Dans ta page iframe, il suffit d'appeler une fonction JS présente sur ta page principale, en précédant le nom par "parent."

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    ce qui ne sera possible (sur le onload de la frame) que si la page dynamique se trouve sur le même serveur...

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2011
    Messages : 136
    Par défaut
    Je veux éviter de mettre un quelconque code dans l'iframe (histoire de le rendre indépendant car utilisé ailleurs dans d'autres serveurs) et faire en sorte de mettre du code uniquement dans ma page principale...

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Citation Envoyé par javatwister Voir le message
    ce qui ne sera possible (sur le onload de la frame) que si la page dynamique se trouve sur le même serveur...
    Citation Envoyé par PatSan Voir le message
    Je veux éviter de mettre un quelconque code dans l'iframe (histoire de le rendre indépendant car utilisé ailleurs dans d'autres serveurs) et faire en sorte de mettre du code uniquement dans ma page principale...
    j'entrevois donc un problème de communication...

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2011
    Messages : 136
    Par défaut
    Quelle serait la solution si les iframes se trouvaient sur le même serveur, toujours en évitant de mettre un quelconque code dans les iframes ?

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Par défaut
    un attribut "onload" sur ton iframe qui est executé lors du chargement d'une page dans la frame. Par contre je ne sais plus si c'est au chargement ou lorsque la page est chargée.

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2011
    Messages : 136
    Par défaut
    Je voudrais éviter de mettre du code dans les iframes !

  9. #9
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Bonsoir,

    bewidia t'a donné la réponse :

    http://www.w3schools.com/jsref/event_frame_onload.asp

    l'évènement onload de l'iframe est lancé lors du chargement de celle-ci, et correspond au window.onload qu'on utiliserait pour du code à l'intérieur de l'iframe.

    C'est bien un évènement lancé dans la page mère...

    Je te laisse regarder les exemples du lien ci-dessus, mais si ta dernière réponse signifie que tu ne veux pas mettre l'attribut directement dans la balise, ça marche aussi avec une référence sur l'iframe, comme n'importe quel évènement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var ifrm = document.getElementById("monIframe");
    ifrm.onload = function() {
    .... // traitement
    }

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2011
    Messages : 136
    Par défaut
    Ok, désolé, j'avais mal interprété son message.
    Petite colle : j'ai des iframes qui ont déjà un javascript associé à l'événement onload. Comment faire pour y ajouter un autre code dynamiquement ?

  11. #11
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Il faut adopter l'attachement de gestionnaire d'évènement multiples avec :
    https://developer.mozilla.org/fr/DOM...dEventListener (firefox et consort)
    ou
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx (IE)

    Généralement, si l'on utilise pas de framework, on fait une fonction de ce type (codé à la va-vite, mais tu trouveras plein d'exemple plus propre sur le net...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function addEvent(elem, type, fn){
        if (elem.addEventListener){
            elem.addEventListener(type,fn,false);
        } else if (elem.attachEvent){
            elem.attachEvent("on"+type,fn);
        }
    }
    Cela permet d'attacher autant de gestionnaire d'évènement que l'on souhaite sans écraser ceux existants.

  12. #12
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2011
    Messages : 136
    Par défaut
    Un grand merci à tous pour les infos ! J'ai résolu mon problème...

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

Discussions similaires

  1. exécution javascript après appel ajax
    Par Gaani dans le forum jQuery
    Réponses: 3
    Dernier message: 21/09/2009, 16h56
  2. [POO] affectation dynamique d'une méthode à un objet
    Par Delphi-ne dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/02/2006, 21h17
  3. [htm/JavaScript] Pbm affectation variable d'environnement
    Par fab22montpellier dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 27/06/2005, 16h09
  4. [XSLT] séparation après tri dynamique
    Par MatMeuh dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 26/10/2004, 14h56

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