Avatar billede Slettet bruger
20. december 2003 - 13:01 Der er 13 kommentarer og
1 løsning

window.close() ud fra navn

jeg åbner et vindue med følgende kode:

<body onUnload='window.open("logout.asp","logout","height=1,width=1");'>

på logout.asp, vil jeg gerne lukke dette vindue.. Dette gør jeg med:

<body onload="window.close()">

Der er dog et problem med det.. Hvis brugeren manuelt logger af, skal vinduet ikke lukkes.. Så skal brugeren sendes videre.. (hvis brugeren logger af hedder vinduet ikke noget).

jeg kan sagtens finde alternative måder, jeg kan lukke vinduet på, men jeg vil gerne have en løsning a la:

<body onload="window.close('logout')">

Så vinduet SKAL hedde logout, hvis det skal lukkes..
Avatar billede mm12010 Nybegynder
20. december 2003 - 13:07 #1
<body onload="if(!logout.closed()){logout.close();}">
Avatar billede Slettet bruger
20. december 2003 - 13:10 #2
virker ikke :(..
Avatar billede roenving Novice
20. december 2003 - 13:15 #3
>>mm12010

.closed er en property, ikke en funktion:

<body onload="if(!logout.closed){logout.close();}">
Avatar billede mm12010 Nybegynder
20. december 2003 - 13:19 #4
roenving >> lige præcis !-)
Avatar billede Slettet bruger
20. december 2003 - 13:21 #5
det virker stadig ikke..
Avatar billede roenving Novice
20. december 2003 - 13:30 #6
window er repræsentanten for det vindue, du udfører script-stumpen i ...

Hvis du vil have fat i et vindue script-mæssigt, må du have en variabel, som repræsenterer det vindue, dvs. du skal:

var logout;
function openWin(){
  logout = window.open(...);
}

-- og så kan du tage fat i vinduet fra det vindue, du har åbnet det fra !-)

Hvis du så åbner et nyt vindue, kan du få fat i det med:

<body onload="if(!opener.logout.closed){opener.logout.close();}">
Avatar billede Slettet bruger
20. december 2003 - 13:42 #7
så får jeg at opener.logout.closed is null or not an object
Avatar billede roenving Novice
20. december 2003 - 14:04 #8
Har du også defineret variablen ?-)
Avatar billede Slettet bruger
20. december 2003 - 14:06 #9
jeg har gjort det i min side med onunload=open.window.. jeg prøver også at gøre det i logout.asp
Avatar billede Slettet bruger
20. december 2003 - 14:09 #10
samme fejl..
Avatar billede roenving Novice
20. december 2003 - 14:09 #11
Det må du ikke ...

Bemærk, at logout er defineret _undenfor_ funktionen, som åbner vinduet !-)
Avatar billede Slettet bruger
20. december 2003 - 14:29 #12
nu ser min side sådan ud:

<head>
<script>
var logout;
function openWin(){
    logout = window.open("logout.asp","logout","height=1,width=1");
}
</script>
</head>
<body onUnload='openWin();'>

logout indeholder stadig kun

<body onload="if(!opener.logout.closed){opener.logout.close();}">

der kommer samme fejl: opener.logout.closed is null or not an object
Avatar billede roenving Novice
20. december 2003 - 14:47 #13
Så kan den koges helt ned til:

<body onload="if(!closed){close();}">

-- selvom det anbefales at tage henvisningen til window med ved funktioner og properties, som ikke selv er window-objekter !

-- men jeg forstår ikke, hvorfor du vil lukke vinduet ligeså snart det er åbnet ?-)
Avatar billede Slettet bruger
03. januar 2004 - 13:08 #14
lukker.. kunne ikke få det til at virke..
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