Avatar billede kla Nybegynder
20. april 2004 - 09:04 Der er 11 kommentarer og
1 løsning

Dynamisk indhold i Iframe

Hej

Jeg har et span indeholde en iframe hvor jeg gerne fra javascript vil kunne skrive indholdet i iframe'en

<span id="test">
  <iframe id="ifrm">
  </iframe>
</span>

Hvordan laver jeg f.eks. en innerhtml på mit ifrm ?

f.eks ønsker jeg at skrive <p>her kommer jeg</p> i min iframe!!

Håber der er nogen som kan fortælle mig hvordan jeg gør dette :-)
Avatar billede roenving Novice
20. april 2004 - 09:10 #1
Du skal have fat i window-objektet for nemt at komme til indholdet, så f.eks.:

window.frames[0].document.body.innerHTML='<p>her kommer jeg</p>'
Avatar billede kla Nybegynder
20. april 2004 - 12:21 #2
Det virker sgu ik :-( kan du evt. lave et fuldt kørende eksemple ... da jeg er ved at være totalt desperat :-)
Jeg skal køre det på IE 5.5 og 6 har det måske nogen betydning ? skal jeg gøre noget mere alla reload iframen eller noget helt 3' :-) ????
Avatar billede roenving Novice
20. april 2004 - 12:29 #3
<button onclick="window.frames[0].document.body.innerHTML='Hej'">Skriv Hej!</button>
<iframe name="iframe1" width="500" height="200"></iframe>
Avatar billede olebole Juniormester
20. april 2004 - 13:33 #4
<ole>

kla >> Får du fejl, når du prøver ... og i så fald: Hvad siger fejlen?

/mvh
</bole>
Avatar billede kla Nybegynder
20. april 2004 - 13:48 #5
<html>
<body>
<form id=Form1>
<button onclick="window.frames[0].document.body.innerHTML='Hej'">Skriv Hej!</button>
<button onclick="alert(window.frames[0].name);">Name</button>
<iframe name="iframe1" width="500" height="200"></iframe>
<SCRIPT LANGUAGE="JavaScript1.2">
window.frames[0].document.body.innerHTML='Hej';
</script>
</form>
</body>
</html>

knappen virker men det i scriptet virker ikke !!!! HVORFOR ???

fejl meddelsen er at window.frames[0].document.body er ikke et objekt eller null
Avatar billede roenving Novice
20. april 2004 - 14:27 #6
Fordi siden skal være loadet først !-)

<html>
<body onload="window.frames[0].document.body.innerHTML='Hej';">
<form id=Form1>
<button onclick="window.frames[0].document.body.innerHTML='Hej'">Skriv Hej!</button>
<button onclick="alert(window.frames[0].name);">Name</button>
<iframe name="iframe1" width="500" height="200"></iframe>
</form>
</body>
</html>
Avatar billede kla Nybegynder
20. april 2004 - 14:42 #7
Tak for hjælpen - vi endte med flg. løsning:
<html>
<body>
<iframe name="iframe1" width="500" height="200"></iframe>
<SCRIPT LANGUAGE="JavaScript1.3">
function indhold()
{
  window.frames[0].document.body.innerHTML='<p>noget indhold</p>';
}
setTimeout('indhold()', 100)
</script>
</body>
</html>

PS: Hvis du angiver et svar, får du dine point.
Avatar billede roenving Novice
20. april 2004 - 14:49 #8
Det er ikke godt at lave det sådan, da tilfældige udsving i forbindelsen kan gøre ged i sådan 1/10 sekund ...

Hvorfor kalder du den ikke onload, hvor den er helt sikker ?-)

-- og velbekomme '-)
Avatar billede kla Nybegynder
20. april 2004 - 14:53 #9
Hej jeg har ikke adgang til body :-( så derfor kan jeg ikke benytte den  :-) Men vi ville også bare se om ikke vi kunne sætte tiden lidt ned, men selv med en faktor 10 gør det heller ikke det store i dette tilfælde så den kunne bare sættes op !
/KLA
Avatar billede olebole Juniormester
20. april 2004 - 14:54 #10
Ja, en timeout duer ikke her  :)

kla >> Husk i øvrigt at skrive hvilke fejl, du får, når du tester dine scripts - så er det meget lettere at hjælpe  ;o)
/mvh
Avatar billede olebole Juniormester
20. april 2004 - 14:55 #11
<script type="text/JavaScript">
window.onload = function() {
  // Kode, der skal afvikles på onload, lægges her
}
</script>
Avatar billede roenving Novice
20. april 2004 - 14:56 #12
men så kan du:

<script type="text/javascript">
function indhold(){
  window.frames[0].document.body.innerHTML='<p>noget indhold</p>';
}
window.onload = indhold;
</script>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB
Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging