Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2011, 13h22   #1
Membre à l'essai
 
Inscription : décembre 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 99
Points : 22
Points : 22
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 :
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 :
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 :
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.
muppetshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 13h27   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
é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
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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 14h52   #3
Membre à l'essai
 
Inscription : décembre 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 99
Points : 22
Points : 22
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 :
1
2
 
parent.document.getElementById('if_action').location.href = LaSuite;
j'obtiens objet requis !
muppetshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 14h53   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
les pages sont toutes sur le même domaine ??
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 14h55   #5
Membre à l'essai
 
Inscription : décembre 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 99
Points : 22
Points : 22
Absolument, tout est local.
muppetshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 15h29   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Code :
parent.document.frames['if_action'].location.href
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 17h22   #7
Membre à l'essai
 
Inscription : décembre 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 99
Points : 22
Points : 22
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 :
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 ?
muppetshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 18h39   #8
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
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 ?
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 11h44   #9
Membre à l'essai
 
Inscription : décembre 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 99
Points : 22
Points : 22
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ù !
muppetshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 14h39   #10
Membre à l'essai
 
Inscription : décembre 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 99
Points : 22
Points : 22
Bon, j'ai tout refait différement ... et toutjours pô

Ma page principale ressemble maintenant à ça !
Code :
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
muppetshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 21h37   #11
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 930
Points : 4 744
Points : 4 744
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 :
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";
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 15h09   #12
Membre à l'essai
 
Inscription : décembre 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 99
Points : 22
Points : 22
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
muppetshow est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 23h21   #13
Expert Confirmé Sénior
 
Avatar de Auteur
 
Inscription : avril 2004
Messages : 4 789
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 4 789
Points : 5 112
Points : 5 112
tu as regardé ce lien comme te l'a suggéré SpaceFrog ?
http://www.developpez.net/forums/d27...t/#post3491877
Auteur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h54.


 
 
 
 
Partenaires

Hébergement Web