Avatar billede mfrost Nybegynder
22. november 2002 - 10:25 Der er 3 kommentarer

window.opener.function ?

Hvordan kalder jeg funktionen i
parent.htm, fra child.htm korrekt? Eksemplet her virker kun nogengange....
(Funktionen i parent.htm skal skrive en tekst i child.htm's vindue.)


PARENT.HTM :
parent
<script language='JavaScript'>
function test(){ child.document.writeln('parent function');  }
child=window.open( 'child.htm','child_win' );
</script>

CHILD.HTM :
child
<script language='JavaScript'>
window.opener.test();
</script>
Avatar billede o-zone Nybegynder
22. november 2002 - 11:21 #1
Du kan umiddelbart ikke bruge document.writeln på et dokument der ER åbnet færdigt! :-(

Dvs. det ovenstående virker kun, så længe child dokumentet ikke er færdigloadet.
Avatar billede o-zone Nybegynder
22. november 2002 - 11:42 #2
Du kan evt. bruge css til at skrive dynamisk i dokumentet efter load.

Så skal du have noget i stil med:
---8<------
str = 'parent function';
if (document.getElementById)
child.document.getElementById("lag1").innerHTML = str;
else if (document.all)
child.document.all.lag1.innerHTML = str;
else if (document.layers)
child.document.nslag1.document.write(str);
-----------
i hoveddokumentet, og noget der ligner:
---8<------
<div id="lag1" style="color: black; font-family: Arial; background-color: white; width: 400px;">
<layer id="nslag1" style="color: black; font-family: Arial; background-color: white; width: 400px;">
</layer>
</div>
-----------

i child (men så skal du vist huske at checke at child er færdigloadet før du kalder funktionen i parent, og ovenstående virker så vidt jeg kan se ikke i Opera ... men det er der sikkert nogle css-hajer her på sitet du kan få til at ordne ;-))
Avatar billede mfrost Nybegynder
25. november 2002 - 09:10 #3
hm, ok. Jeg kan ikke helt gennemskue dit svar. Problemet ligger i at test() kun virker en gang imellem! Men jeg fandt selv en simpel løsning på mit 'timing'-problem, ved at opbygge child.htm med document.writeln() fra parent.htm. Tak for hjælpen alligevel :)
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