Avatar billede barklund Nybegynder
19. januar 2004 - 13:43 Der er 6 kommentarer og
1 løsning

Reference til popup efter refresh

Hey,

Jeg har lavet en side der laver en popup med window.open("side.html", "minpopup", "");

Herefter har jeg en reference til vinduet gemt i en variabel.

Hvis jeg refresher mit hovedvindue (ved at skifte side eller på anden vis) så er denne reference jo slettet. Men alligevel vil browseren genbruge popuppen hvis jeg åbner ny popup til samme navn igen.

Ligeledes vil links med target="minpopup" åbne i dette vindue.

Derfor må browseren kende popuppen på en eller anden vis.

Men kan jeg få en reference til dette vindue?

Jeg tænker lidt på at bruge en cookie til at huske den i, men det giver mig stadig ingen reference - blot viden om den findes eller ej.

Ellers kan man lave noget med, at man sætter en onUnLoad der fortæller popuppen af den efter opener's refresh skal sætte variablen på ny... eller sætte en window.opener.reference = this på en setTimeout - men det er en lidt klam løsning :/

Jeg skal bruge det, da min poup er lavet med en onBeforeUnload... Den skal ikke affyres hvis det er min hovedside der igen prøver at refreshe vinduet - derfor vil jeg have en reference til vinduet så jeg kan kalde et javascript i den i stedet for bare at sætte dens url...

Kan nogen hjælpe mig?

// Morten Barklund
Avatar billede mm12010 Nybegynder
19. januar 2004 - 15:15 #1
if(!minpopup.closed){
  //popup er åben
  }
Avatar billede barklund Nybegynder
19. januar 2004 - 15:49 #2
Variablen "minpopup" eksisterer ikke, efter jeg har trykket på F5 - gør den det for dig?
Avatar billede mm12010 Nybegynder
19. januar 2004 - 16:08 #3
hmm, nej - du siger noget der...
Avatar billede barklund Nybegynder
19. januar 2004 - 16:27 #4
Den anden del har jeg fået til at virke... men hvis man holder popuppen åben, surfer rundt i hovedbrowseren og kommer tilbage til samme side for at åbne popuppen med nye parametre, så kan jeg ikke finde ud af at detecte, om den er åben eller ej og i givet fald finde en reference til den...
Avatar billede barklund Nybegynder
20. januar 2004 - 00:32 #5
Konstaterer, at da selv de skarpeste JS-nørder ikke svarer, så kan man nok ikke ;)

Vender tilbage hvis jeg finder ud af noget :)
Avatar billede roenving Novice
20. januar 2004 - 08:02 #6
Da det er en javascript objekt-reference, du har brug for, er den afhængig af, at det javascript-miljø er eksisterende, og præcis det lukkes, når siden reloades ...
Avatar billede barklund Nybegynder
20. januar 2004 - 09:48 #7
Men browseren genetablerer det jo for hver refresh i en eller anden grad.

Browseren kender godt denne ekstra popup, der fungerer lidt som en ekstra frame - og så ikke alligevel.

Mærkeligt at hvis en frame i en browser udskiftes, kan den stadig se de øvrige, men hvis det ene af to i øvrigt sammenhængende vinduer udskiftes kan den nye ikke se den gamle - men det omvendte ER tilfældet :/
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