OVH Cloud OVH Cloud

Iframe

8 réponses
Avatar
Kortex
Bonjour,

y a-t-il un moyen de fermer un iframe avec du code javascript ?

8 réponses

Avatar
Thibaut Allender
y a-t-il un moyen de fermer un iframe avec du code javascript ?


document.getElementById('id_de_l_iframe').style.display = 'none'; ?

--
thibaut allender | freelance | http://capsule.org

Avatar
YD

y a-t-il un moyen de fermer un iframe avec du code javascript ?



document.getElementById('id_de_l_iframe').style.display = 'none'; ?


ou, si l'on ne veut pas modifier la mise en page,

document.getElementById('id_de_l_iframe').src="about:blank";

--
Y.D.


Avatar
Kortex
En fait, je veux virer le frame de pub imposé par l'hébergeur, et le
problème c'est qu'il ne spécifie pas d'ID (ils sont pas bêtes ;-)
J'ai essayé cette solution en mettant frames[0] mais ça n'a pas marché. A
noter qu'avec cette dernière méthode j'arrive sans problème à changer l'URL
de cet iframe

Thibaut Allender
wrote in
news::

y a-t-il un moyen de fermer un iframe avec du code javascript ?


document.getElementById('id_de_l_iframe').style.display = 'none'; ?




Avatar
Thibaut Allender
En fait, je veux virer le frame de pub imposé par l'hébergeur, et le
problème c'est qu'il ne spécifie pas d'ID (ils sont pas bêtes ;-)


vous pouvez aussi payer 5 EUR / mois et avoir un hebergement sans pub...

J'ai essayé cette solution en mettant frames[0] mais ça n'a pas marché. A
noter qu'avec cette dernière méthode j'arrive sans problème à changer l'URL
de cet iframe


tiens, bizarre qu'on ne puisse pas en changer le display alors

PS : merci de lire http://www.giromini.org/usenet-fr/repondre.html pour
le bien de tous

--
thibaut allender | freelance | http://capsule.org

Avatar
YD

En fait, je veux virer le frame de pub imposé par l'hébergeur, et le
problème c'est qu'il ne spécifie pas d'ID (ils sont pas bêtes ;-)



vous pouvez aussi payer 5 EUR / mois et avoir un hebergement sans pub...

J'ai essayé cette solution en mettant frames[0] mais ça n'a pas
marché. A noter qu'avec cette dernière méthode j'arrive sans problème
à changer l'URL de cet iframe



tiens, bizarre qu'on ne puisse pas en changer le display alors


Non, normal. frames[0] renvoie l'objet window de la page contenue
dans l'iframe, avec son objet location etc.
Pour mettre le display à none, il faudrait plutôt écrire, en
l'absence d'ID :

document.getElementsByTagName("IFRAME")[0].style.display="none";

--
Y.D.


Avatar
Kortex
YD wrote in news:41a4f533$0$17772$:

document.getElementsByTagName("IFRAME")[0].style.display="none


Nickel, cette solution marche !
Seul bémol, ça marche en local, mais pas quand la page est hébergée sur le
serveur de l'hébergeur. Sous Mozilla, je reçois le message "Error: uncaught
exception: Permission denied to get property
HTMLDocument.getElementsByTagName"
Est-ce que ça viendrait du fait que le iframe fait référence à une URL
absolue (http://....) au lieu d'une URL locale comme pour mes tests
("page.html") ?

Avatar
YD
YD wrote in news:41a4f533$0$17772$:

document.getElementsByTagName("IFRAME")[0].style.display="none


Nickel, cette solution marche !
Seul bémol, ça marche en local, mais pas quand la page est hébergée sur le
serveur de l'hébergeur. Sous Mozilla, je reçois le message "Error: uncaught
exception: Permission denied to get property
HTMLDocument.getElementsByTagName"
Est-ce que ça viendrait du fait que le iframe fait référence à une URL
absolue (http://....) au lieu d'une URL locale comme pour mes tests
("page.html") ?


En l'absence d'URL de test, je ne sais pas mais ça me semble étrange. Que tu ne
puisses pas accéder à frames[0] est normal si la page est dans un autre domaine,
mais à getElementsByTagName ??? (puisque c'est ta page qui est le document).

Essaie sans javascript, et si tu n'as pas d'autres IFRAME, d'ajouter dans la
partie HEAD :

<style type="text/css">
iframe {display: none}
</style>

--
Y.D.


Avatar
Kortex
YD wrote in
news:41a50580$0$6030$:

YD wrote in
news:41a4f533$0$17772$:

document.getElementsByTagName("IFRAME")[0].style.display="none


Nickel, cette solution marche !
Seul bémol, ça marche en local, mais pas quand la page est hébergée
sur le serveur de l'hébergeur. Sous Mozilla, je reçois le message
"Error: uncaught exception: Permission denied to get property
HTMLDocument.getElementsByTagName"
Est-ce que ça viendrait du fait que le iframe fait référence à une
URL absolue (http://....) au lieu d'une URL locale comme pour mes
tests ("page.html") ?


En l'absence d'URL de test, je ne sais pas mais ça me semble étrange.
Que tu ne puisses pas accéder à frames[0] est normal si la page est
dans un autre domaine, mais à getElementsByTagName ??? (puisque c'est
ta page qui est le document).

Essaie sans javascript, et si tu n'as pas d'autres IFRAME, d'ajouter
dans la partie HEAD :

<style type="text/css">
iframe {display: none}
</style>



En réalité, je ne peux pas accéder à la page qui contient les iframes
En gros, tout ceci ressemble à ce schéma :

->index.html
<iframe src="http://url/pub.html">
<iframe src="http://url/mapage.html">

->mapage.html
C'est la seule page où je peux agir, et c'est dans cette partie que le code
parent.document.getElementsByTagName("iframe")[0].style.display="none"
marche (mais uniquement sur mon serveur local)
J'ai fait le test sur IE6 et ça n'a pas fonctionné mieux :-(