iframe - interaction avec la page "hote" ?

lesbonsplansdesophie
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 1 Mar 2004

iframe - interaction avec la page "hote" ?

Message le Mar Déc 20, 2005 12:20

Salut a tous,

Savez vous si il est possible de faire intéragir une iframe avec la page dans laquelle elle est inclue ?

Par exemple, imaginez une page iframe.html dont le pseudo code est:
Code: Tout sélectionner
<javascript>alert("toto");</javascript>
que j'appelle dans une page principale via le code:
Code: Tout sélectionner
<iframe src="iframe.html"></iframe>


Je souhaiterais que l'alerte "toto" apparaisse dans la page principale, et pas dans l'iframe elle-meme, savez-vous si c'est possible ?

Merci !

ZoRRo75
WRInaute discret
WRInaute discret
 
Messages: 204
Inscription: 11 Mar 2004

Message le Mar Déc 20, 2005 12:24

testes cela :

Code: Tout sélectionner
parent.alert('yoooo');


ceci dit, dans tous les cas, l'alerte n'apparait-elle pas centrée à l'ecran d'ou qu'elle vienne ?

tchouss


ju²

lesbonsplansdesophie
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 1 Mar 2004

Message le Mar Déc 20, 2005 12:31

merci, ca va probablement m'aider, je vais creuser le coup du "parent". En fait tu as raison pour une alerte ca ne pose pas de probleme, mais ce que j'essaye de faire est un chouille plus compliqué... L'iframe va contenir un <span id="toto"> puis un script javascript qui modifie le contenu du span (c'est pour faire un tooltip) - le probleme c'est qu'en l'etat actuel des choses le tooltip (la span toto avec un z-index "élevé") s'affiche dans l'iframe, alors que je voudrais qu'il s'affiche dans la frame "parent". Je ne sais pas si c'est compréhensible ?

lesbonsplansdesophie
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 1 Mar 2004

Message le Mar Déc 20, 2005 12:33

en ecrivant les lignes du dessus je me rend compte qu'une maniere de repositionner le probleme, c'est de poser la question suivante:

imagines que j'ai un script javascript dans mon iframe, et que je veux que ce script agisse sur un <span id="toto"> situé dans la frame parent - c'est possible ?

ZoRRo75
WRInaute discret
WRInaute discret
 
Messages: 204
Inscription: 11 Mar 2004

Message le Mar Déc 20, 2005 12:38

of course c possible ;)

Code: Tout sélectionner
parent.document.all.toto.style.display='block';


mais ca c'ets pour IE

utilises la fonction getElementById pour une fonction plus compatible

Code: Tout sélectionner
parent.document.getElementById("toto").style.display='block';


ou quelque chose comme ca

mieux : executer une fonctione directement dans le frame parent :

Code: Tout sélectionner
parent.showdiv("toto");



NB : un iframe c'est comme un frame dans le DOM. Et les iframes c'est pas genial quand meme !! (niveau referencement entre autres)

tchouss

ju²

lesbonsplansdesophie
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 1 Mar 2004

Message le Mar Déc 20, 2005 13:33

chouette merci !!
je sais que c'est pas terrible, niveau referencement, mais ce n'est pas l'objet... si tu veux plus d'info on en parle par mp... ;)

lesbonsplansdesophie
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 1 Mar 2004

Message le Mar Déc 20, 2005 13:57

Zorro75 > désole de te rederanger, mais si je te suis bien, grosso modo imaginons que j'ai une page "hote" avec le code suivant:

Code: Tout sélectionner
blablabla <span id="toto" style="display:none;">tooltip</span> <iframe src="monscript.html"></iframe>


et dans le fichier monscript.html :

Code: Tout sélectionner
<img src="image.jpg" onmouseover="parent.document.all.toto.style.display='block';" onmouseout="parent.document.all.toto.style.display='none';">


lorsque je survole l'image de l'iframe, ca devrait rendre le span visible ?

ZoRRo75
WRInaute discret
WRInaute discret
 
Messages: 204
Inscription: 11 Mar 2004

Message le Mar Déc 20, 2005 14:28

hello

as-tu testé ? a mon avis le meilleur moyen de progresser et d'apprendre est de tester/corriger/rester/recoriger/reretester....

jusqu'a obtention du resultat voulu

chez moi ton code fonctionne sous IE

il vaudrait mieux essayer la version avet getElementById qui est plus cross-browser

cdlt

ju²

lesbonsplansdesophie
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 1 Mar 2004

Message le Mar Déc 20, 2005 15:02

yep ca marche merci apres qques tatonnements... plus d'info sur mon projet dans qques semaines ;)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités