Avatar billede sblar Nybegynder
29. marts 2003 - 13:27 Der er 7 kommentarer og
1 løsning

Kalde en anden side - unbeforeunload

På min ASP.NET side vil jeg kalde en anden side som lukker sessionen når brugeren enten lukker browservinduet eller hopper væk fra siden. I min <body> har jeg følgende:
<body onbeforeunload="java script:window.open('unload.aspx', 'Unload', 'width=25, height=25, toolbar=no, scrollbars=no, location=no, status=no')" topmargin="0">

Dette virker også OK, men jeg ville gerne undgå det lille vindue som kortvarigt popper op her. Er der en anden måde at kalde en side på? F.eks. location.href eller location.redirect eller noget helt tredie? Jeg har prøvet begge men måske er der noget med syntaxen jeg ikke helt har fat i.
Avatar billede Slettet bruger
29. marts 2003 - 14:22 #1
Kan du ikke bare sætte top og left til et sted udenfor skærmen?
Avatar billede olebole Juniormester
29. marts 2003 - 17:04 #2
<ole>

sblar >> Nej, du kan heldigvis ikke spærre en bruger inde på et site. Du kan ikke slippe for at lave en popup.

bertie >> Det kan man ikke i følge JavaScript ... man kan heller ikke lave vinduet mindre end 100*100 pixels. Det lader sig dog desværre alligevel gøre i visse dårlige browsere  :oP

/mvh
</bole>
Avatar billede Slettet bruger
29. marts 2003 - 17:59 #3
olebole hvad mener du med at man ikke kan, de eneste krav til left og top er at de skal være større end 0, der er ikke angivet en max. størrelse.
Avatar billede olebole Juniormester
29. marts 2003 - 18:39 #4
Jeg er ikke helt med på, hvad du ikke forstår. Dette bør f.eks. ikke kunne lade sig gøre i en opløsning på 1024*768:
  <button onclick="window.open('http://www.google.com','','width=100,height=100,top=2000,left=2000')">TEST</button>
Men - som jeg også skrev før - det kan det desværre i IE  :o/
Avatar billede sblar Nybegynder
30. marts 2003 - 17:18 #5
olebole>Detlyder fornuftigt at man ikke kan spærre nogen inde. Det vil jeg heller ikke, jeg vil bare sørge for at asp koden køres når folk forlader siden. Er der andre måder at gøre det på? Jeg er lidt bange for at det her ikke virker hvis folk har en eller anden popup-killer kørende.
Avatar billede olebole Juniormester
30. marts 2003 - 19:01 #6
Jeg er helt klar over, du ikke ønsker at spærre nogen inde - men blot vil køre en log-ud-kode el.lign.

Både brugere med popup-killers og brugere med disabled JavaScript tabes her.
Der er desværre ikke nogen nem løsning på det problem. Én ting, du kan gøre er at lade hver bruger sætte et timestamp ind i en DB, hvergang en side request'es. Du kan så checke på, om der er stamps, der er over 15 minutter gamle - og køre koden på dem.
/mvh
Avatar billede sblar Nybegynder
30. marts 2003 - 20:13 #7
olebole> I ASP findes en property "Session.Timeout" som bestemmer hvor længe sessionen "lever", så det der med timestamps bliver ikke nødvendigt. Men tak alligevel. Hvis du sender et svar så skal få dine point.
Avatar billede olebole Juniormester
30. marts 2003 - 21:40 #8
Ja, der er flere måder at gøre det på, alt efter hvad der skal foretages ved logout  :)
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