11486 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

après recherches je ne trouve pas la solution à mon problème.

1) Si depuis une <div id="menu"> contenant un menu j'arrive bien à remplacer le contenu d'une <iframe id="contenuiframe"> adjacente via :

function changeriframe(url) {
document.getElementById("contenuiframe").src = url;}
-----------------------
2) Je ne trouve pas la solution pour REMPLACER ce même menu par cette iframe.

grosso modo ma page de départ :
<div id="contenu">
     <div id="menu">mon menu
     </div>
</div>


doit ressembler au final à
<div id="contenu">
     <iframe id="contenuiframe" src=URL qui dépend du choix fait avec le menu>
     <iframe>
</div>


------------------

le plus simple serait peut-être de remplacer dynamiquement le code html :
<div id="contenu">
"" <div id="menu">mon menu</div> "" par :
""  <iframe id="contenuiframe" src= "" && URL qui dépend du choix fait avec le menu && "" ><iframe> ""
</div>


mais vu mon niveau très débutant je ne sais même pas si cela est possible et comment.

avez vous une solution ? est ce que innerHTML est une piste ?

avec mes remerciements préalables
Modifié par kashlm (28 Mar 2019 - 10:27)
Salut

Quand tu dis "REMPLACER ce même menu par cette iframe" quelle(s) action(s) doit être derrière tous ça ?
Est-ce manuel ? l'utilisateur doit "clicker" sur un élement particulier pour déclencher l’événement de "remplacer iframe" ?
Oui tout à fait

dans ma div "contenu" j'ai à l'origine une div "menu" : "lien 1", "lien 2", "lien 3"...

lorsque je clique sur un "lien X",
1) une "iframe" prend la place de la div "menu" à l'interieur de la div "contenu".
2) le src de l'iframe ="iframe_X.html"

est t-il possible de remplacer le type de balise
du genre
document.getElementById("menu").type = iframe



EDIT SOLUTION TOUTE BETE :
en fait je viens de faire des essais en créant un menu sur une autre page, intégré en iframe.
depuis ce menu les liens vers les "iframe_X.html" se fait avec target="_self" et ca a l'air de fonctionner.

Par contre pour ma culture personnelle je suis preneur de toute solution en js.
je laisse donc le sujet ouvert encore qqs jours.

amicalement,

Kashlm
Modifié par kashlm (28 Mar 2019 - 11:22)
Non ben ça fonctionne très bien avec la ci-dessus "SOLUTION TOUTE BETE"

merci tout de même JENCAL