Bonjour,
savez-vous si un iframe créé avec la fonction createElement et appendChild, peut se détruire elle-même avec removeChild ?
Sinon, comment je peux le détruire ?
Merci
Bonjour,
savez-vous si un iframe créé avec la fonction createElement et appendChild, peut se détruire elle-même avec removeChild ?
Sinon, comment je peux le détruire ?
Merci
a priori elle doit pouvoir s'auto détruire ... as tu essayé ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part <iframe onmouseover="this.parentNode.removeChild(document.getElementsByTagName('iframe')[0])" id="coucou"/>
Ben j'ai essayé en faisant :
Mais j'ai une erreur sur moz :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var corps=document.getElementsByTagName('body')[0]; corps.removeChild('fenetre');
Erreur : uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMHTMLBodyElement.removeChild]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://localhost/projet/page.php :: <TOP_LEVEL> :: line 54" data: no]
recupere le parentNode de ta frame et c est sur lui que tu appel le removeChild en lui passant une ref vers ta frame.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 fr = document.getElementById('maframe'); fr.parentNode.removeChild(fr);
J'ai essayé différents trucs, mais pas moyen de supprimer l'iframe.
Du coup, je mis la frame dans un DIV.
Au moins, j'arrive à le cacher, mais toujours pas à le détruire.
tu utilises quel navigateur ... because le code que je t'ai filé au dessus fonctionne comme un charme
Pardon, j'avais pas vu le code que tu as mis.
Il faut que j'essaie mais comme je crée l'iframe de façon dynamique, faut que je double le code (à cause du gestionnaire d'évènements différent entre IE et MOZ)
pouquoi donc ?
getElementsByTagName('iframe') cible bien le bon frame quelque soit le navigateur même si l'iframe est crée dynamiquement ...
Non, le pb c'est que je crée l'iframe avec un createElement et pour attacher un évènement, c'est différent sous Moz et EI.
En plus, je suis en train de me dire que je ne veux même pas attacher un évènement sur l'iframe proprement dit, mais sur un bouton qui est dans la page chargée dans l'iframe. Je sais, c'est simple.
Tout ce que j'arrive à faire, c'est afficher/masquer le div qui contient l'iframe.
Mon autre pb maintenant, c'est de réussir à préremplir des champs contenus dans la page chargée dans l'iframe contenue dans le DIV !!!
un setAttribute ou un .evenement ... ça fait juste une ligne en plus par bien grave ...
Oublies le gestionnaire d'évènements !
En fait, je veux effectuer cette action sur un clic d'un bouton qui se trouve dans une page php appelée dans l'iframe.
Si je fais un window.parent, j'atteins bien la fenêtre principale.
Donc, si je fais :
ça me recharge la page. Etant donné que l'iframe est créée dynamiquement, ça la supprime. Mais ce n'est pas vraiment comme ça que je comptais résoudre le pb.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 window.parent.location.href=window.parent.location.href;
Lorsque je fais :
j'ai l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var principal=window.parent; principal.removeChild(document.getElementsByTagName('iframe')[0])
Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLDocument.removeChild]" nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" location: "JS frame :: http://localhost/projet/save.php :: <TOP_LEVEL> :: line 55" data: no]
Et si je fais :
j'ai l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.removeChild(document.getElementsByTagName('iframe')[0])
Erreur : this.parentNode has no properties
Fichier Source : http://localhost/projet/save.php
Ligne : 56
Je ne comprends pas d'où vient le pb ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part window.parent.document.body.removeChild(window.parent.document.getElementById('ifr'));
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager