Avatar billede tandpine Nybegynder
19. september 2000 - 19:40 Der er 16 kommentarer og
1 løsning

layers og child windows

Hejsa.. jeg har et child window der skal opdatere et layer i parent window.. hvordan skal den lige kringles ??

/TANDEN
Avatar billede jumper Nybegynder
19. september 2000 - 19:46 #1
Hejsa
Fra dit child window kan du nå window objektet til dit parent window med window.opener. Hvis du f.eks. har en funktion i dit parent window der hedder test(), kan den nåes fra dit child window sådan her:

window.opener.test()

Hvis du vil lege med document objektet i dit parent window fra dit child window, kan det ligeledes nåes gennem

window.opener.document

/Thor
Avatar billede tandpine Nybegynder
19. september 2000 - 19:49 #2
jaa.. men layeret???
er det så window.opener.document.LayerNavn.location f.eks??

Avatar billede jumper Nybegynder
19. september 2000 - 19:52 #3
Yepper, forudsat at du fra dit parent window normalt refererer til det som document.LayerNavn ;)

window.opener.document fra dit child window er 100% det samme objekt som document fra dit parent window.

/Thor
Avatar billede olebole Juniormester
19. september 2000 - 19:55 #4
<ole>
Åbner du dog dit vindue fra en frame, er det denne frame, der er \'opener\' for dit popup-vindue. Så skal du kalde videre derfra på sædvanlig vis. F.eks:
    window.opener.parent.denAndenFrame.test()
/mvh
</bole>
Avatar billede tandpine Nybegynder
19. september 2000 - 19:56 #5
hmmm... jeg kan sq ikke få det til at virke.. skummelt

(ups det var vist for tidligt du fik dine point :) nu hænger du på den)

jeg har et script der ser således ud:

<script language=\"JavaScript\">
function updatemain(id,nestref,url) {
    if (NS4) {
        var lyr = (nestref)? eval(\'document.\'+nestref+\'.document.\'+id) : document.layers[id]
        lyr.load(url,lyr.clip.width)
    }
    else if (IE4) {
        window.opener.document.forum.location = url
    }
}
</script>
<script language=\"JavaScript\">updatemain(window.opener,null,\'forum.asp\'); this.close();</script>

men jeg kan sq ikke lige få det til...
Avatar billede jumper Nybegynder
19. september 2000 - 20:00 #6
function updatemain(id,url) {
  if (NS4){
    var lyr = window.opener.document[id]
    lyr.load(url,lyr.clip.width);
  } else if (IE4){
    window.opener.document[id].location.href = url;
  }
}

der så kaldes som

updatemain(\'forum\',\'forum.asp\')

I NS4 er det så laget forum der opdateres, i IE4 er det så IFRAME\'en der opdateres.

/Thor
Avatar billede tandpine Nybegynder
19. september 2000 - 20:05 #7
jumper: den virker stadig ikke
den kommer med en unspecified error i window.opener linien.. skummelt
Avatar billede jumper Nybegynder
19. september 2000 - 20:07 #8
Ret

window.opener.document[id].location.href = url

til

window.opener[id].location.href = url

/Thor
Avatar billede tandpine Nybegynder
19. september 2000 - 20:14 #9
hmm.. nu opgiver jeg snart :)
det virker stadig ikke
Avatar billede tandpine Nybegynder
19. september 2000 - 20:22 #10
nu kommer den med window.opener[id] is not an object :( jeg gider sq snart ikke
Avatar billede jumper Nybegynder
19. september 2000 - 20:24 #11
hvordan kalder du funktionen?

/Thor
Avatar billede tandpine Nybegynder
19. september 2000 - 20:24 #12
hvis jeg bruger window.opener.location tar den det layer som der åbnede den
Avatar billede tandpine Nybegynder
19. september 2000 - 20:25 #13
som du skrev:
updatemain(\'forum\',\'forum.asp\');
Avatar billede tandpine Nybegynder
19. september 2000 - 20:27 #14
nu virker den!
skrev: window.opener.top.document[id].location = url;

men tak for hjælpen :)
Avatar billede jumper Nybegynder
19. september 2000 - 20:32 #15
Ahh, dit parent window var et frameset! ;)

/Thor
Avatar billede tandpine Nybegynder
19. september 2000 - 20:35 #16
hehe.. nej dog ikke.. men de 2 layers bliver åbnet fra index.html filen.
og så bliver vinduet åbnet fra den modsatte frame af den der skal opdateres.. :)

Avatar billede olebole Juniormester
20. september 2000 - 00:43 #17
Ja...netop!  ;o))
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