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 :

Changer le contenu d'une iframe depuis une autre


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut Changer le contenu d'une iframe depuis une autre
    Bonjour,
    Comme je suis à court d'idée, je m'en remets à vous !

    J'ai une page principale dans laquelle sont définies 2 iframes à l'intérieur de DIV :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <DIV style="LEFT: 0px; WIDTH: 190px; HEIGHT: 95%; POSITION: absolute; BACKGROUND-COLOR: rgb(247,243,234)" align=center>
    	<P><A href=""><IMG height=45 alt="CFM" src="images/logo.jpg" width=150 vspace=10 border=0></A></P>
    	<iframe id="if_log" name="if_log" src="Progs/Search.htas"></iframe>
    </DIV>
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <DIV id=monmenu style="PADDING-LEFT: 145px">
    	<UL class=niveau1>
     
       ... la description du menu ...
     
    	</UL>
    	<BR><BR>
    	<iframe id="if_action" name="if_action" style="PADDING-LEFT: 40px" width="95%" height="740px" src="Progs/MenuMachine.htas"></iframe>
    </DIV>
    Dans mon iframe if_action, j'ai défini plusieurs raccourcis destinés à alimenter la 2nd iframe e ma page princiapale.

    Je pensais régler en 2 temps 3 mouvements et même moins ... et cela fait 2 jours !!!
    J'ai essayé un peu toute les syntaxes qui me venaient à l'esprit ou que j'ai pu trouver sur le web ... et rien du tout


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function ChoixRecherche (LaSuite)
    {	// parent.Charge_Iframe (LaSuite);
    	// parent.frames.document.getElementById('if_action').src = LaSuite;
    	// parent.frames['if_action'].location.replace (LaSuite);
    	alert ("5 "+this.window.parent.document.getElementById('NomMachine'));
    	parent.document.getElementById('if_action').src = LaSuite;
    	// parent.frames['if_action'].location = LaSuite;
    	// parent.if_action.document.location = LaSuite;
    	// parent.frames['if_action'].document.location = LaSuite;
    	// parent.if_action.location = LaSuite;
    }
    Il sembelrait que parent n'est aucun effet et que quelque soit la syntaxe, je ne remonte pas au niveau supérieur ????

    Quelqu'un aurait-il une brillante idée ?

    D'avance merci

    M.

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    évites le src essaye plutot location.href ...

    sinon pour pointer sur les parents; direction les contributions il y a un post d'Auteur sur les conversations entre fenêtres
    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
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Merci SpaceFrog mais mon problème est que je n'arrive pas à remonter d'un cran.

    Pour une raison qui m'échappe, parent n'a aucun effet et mon iframe agit comme si elle ne pouvait pas remonter.

    J'ai eu beau essayer toutes les syntaxes que j'ai pues trouver, impossible soit d'appeler une fonction, soit d'accéder aux propriétés de l'objet de ma page principale

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    parent.document.getElementById('if_action').location.href = LaSuite;
    j'obtiens objet requis !

  4. #4
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    les pages sont toutes sur le même domaine ??
    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 !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Absolument, tout est local.

  6. #6
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.document.frames['if_action'].location.href
    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 !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Merci, mais ce n'est pas ça.
    Cette syntaxe était certainement un reste de la tonne de syntaxe que j'ai essayée.

    J'obtiens :

    parent.document.frame.if_actoion.location a la valeur Null ou n'est pas un object.

    Comme indiqué initialement, j'ai l'impression que mon iframe a perdu totalement le lien avec la page Maitre ?

    En faisant un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    alert (parent.document.location);
    depuis la page à l'intérieur de mon iframe, j'obtiens le nom de la page de mon iframe et non la page au dessus ?

    Y aurait t'il quelque chose de spécifique à une iframe définie dans un DIV ?

  8. #8
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Yo le monde,
    je suis pas expert en iframes, c'est plutôt une technologie que j'évite d'habitude, mais il me semble que vous confondez la hiérarchie frames et la hiérarchie fenêtres (popups). Vous avez essayé top ou self ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Merci pour la tentative mais pas mieux

    J'ai l'impression que le problème se trouve au niveau de la définition de mon iframe ou la façon d'y accéder puisque parent semble n'avoir aucun effet dans mon code, mais je ne vois pas où !

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Bon, j'ai tout refait différement ... et toutjours pô

    Ma page principale ressemble maintenant à ça !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <FRAMESET cols="16%,84%" frameborder="0">
        <FRAME src="Progs/Search.htas" name="if_log" id="if_log" scrolling=no >
        <FRAME src="Progs/Main.htas" name="if_action" id="if_action" scrolling=no >
    </FRAMESET>
    <NOFRAME>
    </NOFRAME>
    Et mon code d'appel :
    continue de m'afficher ma page en cours au lieu de ma page d'appel

  11. #11
    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
    si j'ai bien compris de l'IFRAME #1 je veux modifier un contenu de l'IFRAME #2
    de IFRAME #1 je remonte au parent avec window.parent
    du window.parent je récupéres l'IFRAME #2 avec document.getElementById
    ensuite j'accède au document de l'IFRAME #2 avec contentWindow.document

    je resumes, à partir de l'IFRAME #1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var oParent = window.parent;
    var oFrame = oParent.document.getElementById ('IFRAME_2');
    var oDoc = oFrame.contentWindow.document;
    oDoc.getElementById( 'element_a_modifier').innerHTML = "Coucou de l'IFRAME #1";

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Merci NoSmoking,

    Je vais tester la syntaxe quand j'aurais un moment.
    Mais vu que je buttais la dessus depuis pas mal de temps, j'ai supprimé ma frame et j'ai intégré mon code dans la page principale et comme ça, plus de problème pour modifier le contenu de ma 2nd frame.

    Moyennement satisfaisant mais j'ai perdu trop de temps sur cette

  13. #13
    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
    tu as regardé ce lien comme te l'a suggéré SpaceFrog ?
    http://www.developpez.net/forums/d27...t/#post3491877

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/10/2015, 17h16
  2. Appelez une fonction dans une iframe depuis son parent
    Par robomatix dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/11/2012, 12h01
  3. Appel d'une fonction dans une iframe sur un autre domaine
    Par morikann dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/06/2007, 18h46
  4. [iframe]redimensionner une iframe depuis elle même
    Par gisele dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/01/2007, 18h01
  5. Réponses: 3
    Dernier message: 16/01/2006, 16h02

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