Avatar billede oasen Nybegynder
07. maj 2003 - 14:16 Der er 10 kommentarer og
1 løsning

Skriv fra iframe til div

Hvordan skriver jeg en tekst fra iframe'n til hovedsiden?

------------------------------------
HOVEDSIDE:

function nytekst(tekst) {

if (document.getElementById) {
    document.getElementById("vartekst").innerHTML = tekst
  } else if (document.all) {
    document.all.vartekst.innerHTML = tekst
  } else if (document.layers) {
    document.vartekst.document.open();
    document.vartekst.document.write(tekst);
    document.vartekst.document.close();
  }
}

<div id="vartekst"></div>

--------------------------------------------
IFRAME:

<body onLoad="nytekst('Blablabla');">
Avatar billede roenving Novice
07. maj 2003 - 14:22 #1
Iframen skulle være en frame i dit top-dokument (medmindre du har nestet dem yderligere), så for at komme til må du tilføje parent. -- altså f.eks.:

parent.document.vartekst.document.open();

hth
jes
Avatar billede roenving Novice
07. maj 2003 - 14:23 #2
Hov, undskyld funktionen ligger i hovedsiden, så er det:

<body onLoad="parent.nytekst('Blablabla');">

i iframen
Avatar billede oasen Nybegynder
07. maj 2003 - 14:42 #3
Funktionen kan jeg også lægge i iframe'n, hvis det er lettere.

Iframe'n ligger på hovedsiden.
Men hvad hvis onLoad-eventen sker fra en iframe i en anden iframe på hovedsiden?
Avatar billede oasen Nybegynder
07. maj 2003 - 15:00 #4
Hovedside:

<html>
<body>
<div id="vartekst"></div>
<iframe src=side1.htm></iframe>
</body>
</html>

side1.htm:

<html>
<body>
<iframe src=side2.htm></iframe>
</body>
</html>

side2.htm:

<body onLoad="parent.nytekst('Blablabla');"> ?
Avatar billede oasen Nybegynder
07. maj 2003 - 15:04 #5
Hvad er det nu for nogle versioner af NS, der kun forstår ilayer?
Avatar billede roenving Novice
07. maj 2003 - 15:15 #6
-- gamle !-)

Jeg tror funktionen ligger nemmest i hovedsiden, så skal du kun finde rundt i DOM-hierarkiet een gang.

Hvis det ikke virker første gang skal du prøve i stedet for parent. at bruge:

1. top.
2. parent.parent.

mvh
Avatar billede =maddog= Nybegynder
07. maj 2003 - 15:24 #7
ilayer er artefakt for NS4 versionerne.
Avatar billede oasen Nybegynder
07. maj 2003 - 15:28 #8
Så gider jeg ikke tilføje ilayer...

Jeg vil prøve det lidt senere, og så skriver jeg tilbage ;)
Avatar billede olebole Juniormester
07. maj 2003 - 18:13 #9
<ole>

NS4.X forstod også fint <div> - men de skulle håndteres med en lidt anden skrive-syntaks:

document.layers[layerID].document.write("En tekst");
document.layers[layerID].document.close();

Derudover havde NS4.X <layer> og <ilayer>. Sidstnævnte var NS' version af <iframe> - og altså ikke en erstatning for <div>.

/mvh
</bole>
Avatar billede oasen Nybegynder
08. maj 2003 - 15:24 #10
Mange tak for hjælpen.
Avatar billede roenving Novice
08. maj 2003 - 15:31 #11
Velbekomme -- takker for points ;~}
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