Avatar billede kenneth_jakel Nybegynder
11. marts 2002 - 09:09 Der er 5 kommentarer og
2 løsninger

popup åbne og lukke

ved ved ikke om dette kan lade sig gøre, men jeg prøver en gang.

Når min html side loader kommer der også en popup (jo det kan sagtens lade sig gøre) men jeg vil gerne have den popup til at lukke igen når jeg forlader domænet!

det er meningen at popuppen skal indeholde en lille flash-musikafspiller, og det er ikke nok at popuppen lukker når html'en forlades, for hele sitet er opbygget med forskellige html'er istedet for bare én flashfil.

Derfor skal det være når domænet forlades hvis det eller kan lade sig gøre, ellers må jeg bare droppe idéen om automatisk lukning af popuppen.

Jeg har brug for hele koden :)

på forhånd tak.
/kenneth
Avatar billede Slater Ekspert
11. marts 2002 - 12:45 #1
Du kan for eksempel køre en for-loop i popup'en som hele tiden tester for om window.opener har en bestemt titeltekst f.eks., og hvis ikke køre window.close();

Håber du kan bruge det...

/Viperine
Avatar billede Slater Ekspert
11. marts 2002 - 12:47 #2
Kode (i popup vinduet)

function test()
{
  if (!window.opener.document.title = "TITELTEKST")
      window.close();
}

setTimeout("test()", 100);

/Viperine
Avatar billede Slettet bruger
11. marts 2002 - 20:52 #3
Eller:

<script>
function test() {
loc = opener.location.href + "";
if (loc.indexOf("http://www.mitdomæne.dk") == -1) self.close();
else setTimeout("test()",500);
}
</script>

<body onLoad="test();">
Avatar billede Slater Ekspert
12. marts 2002 - 11:17 #4
Phoenixv>> Princippet er jo det samme, ideen er bare at du skal have noget der er unikt for siden, og så tjekke om det stadig er der.

Svar: Jeg har lige opdaget en fejl i min kode:

setTimeout("test()", 100);

skal erstattes med

setInterval("test()", 100);

Undskyld! :)

/Viperine
Avatar billede Slettet bruger
12. marts 2002 - 16:58 #5
Nej, nej, det kan være ligegyldigt, viperine! Derimod har du en anden fejl. Sådan skal dit eksempel se ud:

<script>
function test() {
if (opener.document.title != "TITELTEKST") window.close();
setTimeout("test()",100);
}
</script>

<body onLoad="test();">

Desuden er det vel smartere at tjekke på domænenavnet end på titlen.
Avatar billede Slater Ekspert
15. marts 2002 - 09:59 #6
phoenixv>> Du har sq ret.. i det andet altså, for det kan IKKE være lige meget om du bruger Interval eller Timeout i mit eksempel.
Men undskyld... Okay, jeg kunne også have skrevet som jeg prøvede:

if (!window.opener.document.title == "TITELTEKST")

Godt man har nogen til at sige til når man laver noget bæ.. :)

/Viperine
Avatar billede kenneth_jakel Nybegynder
20. marts 2002 - 11:34 #7
jeg takker for hjælpen! 50/50 :)

/Kenneth
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