Hello,

Je souhaite récupérer l'id de l'iframe parent dans lequel est contenu mon bouton avec l'id "closeButton".

en gros voici l'architecture:

Ma page html > Iframe 1 avec un id aléatoire > le bouton "closeButton" est dans l'iframe 1.

Je veux faire un display none de l'iframe 1 mais je ne vois pas comment faire vu que sur ma page je génère de multiple iframes.

Peut-on récupérer l'id de l'iframe dans lequel est généré mon bouton ou ça n'est pas possible ?

J'ai déjà ce code ci en JSOO:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
        closeFrame : function(){
            var div = document.createElement("div");
            div.style.width = "90px";
            div.style.height =  "35px";
            div.style.top =  "0";
            div.style.right =  "0";
            div.style.backgroundColor =  "transparent";
            div.style.cursor =  "pointer";
            div.style.position =  "absolute";
            div.id = "closeButton";
            document.body.appendChild(div);
            var a = document.getElementById("closeButton");
            this.event(a, "click", function(){
                var b = top.document.getElementById("myFrame"); // C'est ici que j'aimerai que ça soit dynamique et pas un id unique car sur ma page les frames ont toutes un id différent
                b.style.display = "none";
            });
        },
Si ça n'est pas possible et que vous avez une idée pour contourner mon problème je prends !

Merci.


EDIT:

La solution est avec frameElement j'ai fait ça et ça fonctionne très bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
        closeFrame : function(){
            var div = this.d.createElement("img");
            div.style.width = "20px";
            div.style.height =  "20px";
            div.style.top =  "0";
            div.style.right =  "0";
            div.src = "http://www.monImage.com";
            div.style.cursor =  "pointer";
            div.style.position =  "absolute";
            div.id = "closeButton";
            this.d.body.appendChild(div);
            var a = this.d.getElementById("closeButton");
            this.event(a, "click", function(){
                var b = window.frameElement;
                b.style.display = "none";
            });
        },
Résolu