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 27/10/2011, 00h01   #1
Invité régulier
 
Homme
Inscription : janvier 2008
Messages : 55
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Tunisie

Informations forums :
Inscription : janvier 2008
Messages : 55
Points : 7
Points : 7
Par défaut accéder au body d'un frame à partir d'un autre frame

Bonjour;
j'ai dans ma page 3 frames
je veux accéder à partir du frame 1 au body du frame 2 pour y insérer un texte.
J'ai pas réussi à trouver la bonne syntaxe.
Quelqu'un a une idée?
Merci pur tout aide.
ramroum1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 07h01   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 258
Points : 7 258
Bonjour,

Regarde la FAQ, mais au lieu d'utiliser la propriété location, tu utiliseras body.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 10h40   #3
Invité régulier
 
Homme
Inscription : janvier 2008
Messages : 55
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Tunisie

Informations forums :
Inscription : janvier 2008
Messages : 55
Points : 7
Points : 7
Bonjour,

parent.frames['contenu'].body génère l'erreur suivante :

Citation:
Erreur : parent.frames.contenu.body is undefined
ramroum1986 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 11h18   #4
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 258
Points : 7 258
Ton frame a un name="contenu"?
Peut-on voir ton code html?

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 13h36   #5
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Oui, pour accéder à la balise iframe , il faut lui ajouter l'attribut name ou id.

Dans l'exemple ci-dessous, l'attribut id (ayant pour valeur ifrm2) est utilisé.

index.html
Page contenant les cadres
Code xhtml :
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Index</title>
	</head>
	<body>
		<iframe src="iframe-1.html"></iframe>
		<iframe src="iframe-2.html" id="ifrm2"></iframe>
	</body>
</html>

iframe-1.html
Premier cadre
Code :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>iframe 1</title>
		<script type="text/javascript">//<![CDATA[
			function appendText(){
				var
					ifr,body,div;
 
				// ifr = Balise du deuxième cadre (id='ifrm2') du document parent
				ifr=window.top.document.getElementById('ifrm2');
				if(!ifr)return alert('Deuxième cadre non trouvé');
 
				// body = Balise body du cadre
				if(ifr.contentDocument)
					body=ifr.contentDocument.getElementsByTagName('body')[0];
				else if(ifr.contentWindow) // IE
					body=contentWindow.document.getElementsByTagName('body')[0];
 
				// Ajout du nouveau contenu dans le deuxième cadre
				div=document.createElement('div');
				div.appendChild(document.createTextNode('Voici le texte ajouté'));
				body.appendChild(div);
			}
			//]]>
		</script>
	</head>
	<body>
		<p><button onclick="appendText();">Ajouter</button></p>
	</body>
</html>

iframe-2.html
Deuxième cadre (vide pour l'exemple)
Code xhtml :
1
2
3
4
5
6
7
8
9
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>iframe 2</title>
	</head>
	<body>
	</body>
</html>

À voir également postMessage
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 14h21   #6
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 871
Points : 1 380
Points : 1 380
à noter également que si les frames appartiennent à des domaines(sites) différents, elles n'auront pas accès entre-elles.

(execpté via postMessage comme l'a suggeré eric2a)
Willpower 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 05h34.


 
 
 
 
Partenaires

Hébergement Web