Avatar billede flushout Nybegynder
29. september 2004 - 16:07 Der er 11 kommentarer og
1 løsning

<body onClose="blabla"> Kan det lade sig gøre

Hejsa

Jeg skal lave en event der bliver triggeret af at browser-vinduet lukkes af brugeren.

Jeg har tænkt på at lave noget i stil med:

<body onClose="<?= my_php_function(); ?>">

Kan det lade sig gøre, og hvis ikke hvordan gør man?

På forhånd tak for hjælpen :)
Avatar billede roenving Novice
29. september 2004 - 16:16 #1
php-funktion ?-)

-- du kan ikke udføre nogen php-funktion fra klienten, men du kan selvfølgelig kalde en http-adresse ved at loade den i vinduet ...

-- bemærk dog, at hvis et nyt vindue ikke når at blive initialiseret inden siden er unloadet, så afleveres det adresserum, kommandoen udføres i, tilbage til styresystemet, og det udføres ikke !-)

Men f.eks.

<body onunload="window.open('dinSide.php?function=logoff','logoff')">

-- strictly til IE findes der også en onbeforeunload, hvor du med sikkerhed kan åbne et vindue !-)
Avatar billede flushout Nybegynder
30. september 2004 - 08:52 #2
ok... takker :-) Jeg tror jeg vil læse lidt på onunload ... onbeforeunload kan jeg ikke bruge, det skulle gerne være kompatibelt med de fleste browsere :)

Smid et svar så får du nogle points...
Avatar billede flushout Nybegynder
30. september 2004 - 09:04 #3
Jeg sidder og laver en exit-analyse, formålet med min onunload er, at tjekke om en session er sat og om en cookie er sat, hvis begge findes skal der åbnes en popup i det øjeblik siden lukkes. Dvs. popup'en skal kun åbnes hvis de findes. Derfor vil det ikke være så godt at der åbnes et vindue hver gang, hvordan kan jeg gøre det?
Avatar billede flushout Nybegynder
30. september 2004 - 09:06 #4
Vil løsningen så være, at åbne et vindue hver gang og evt. lukke det hvis session go cookie ikke er sat?
Avatar billede flushout Nybegynder
30. september 2004 - 10:41 #5
Popuppen skal komme frem, både når browservinduet lukkes og når den besøgende går til en anden side, i begge tilfælde dog kun hvis session'en er igang og cookien er sat..

Jeg er lidt i tvivl om hvordan jeg kan gøre det...
Avatar billede roenving Novice
30. september 2004 - 12:25 #6
Det kan ikke betale sig at satse på, at aflæsninger af cookies m.v. nås før en evt. nedlukning af vinduet, til gengæld vil den slags autonome vinduer blive blokeret af enhver popup-blokker, selv ved lavest mulige indstilling ...
Avatar billede flushout Nybegynder
30. september 2004 - 12:39 #7
ok. Ideen er, at brugere der ikke har besvaret en given formular skal spørges en sidste gang om de vil besvare den. Det er min chef der har fået ideen. Jeg har sagt, at det måske ikke er den smarteste løsning, men han vil have det implementeret! :P

Hvordan vil du anbefale at jeg så gør det?
Avatar billede roenving Novice
30. september 2004 - 12:49 #8
Så ville jeg fortælle ham at du kan lave en usikker ting, som dur i alle browsere og en sikker ting, som virker i IE ...

-- og så lave en onunload, som lige checker en variabel, som sættes onbeforeunload, så IE-brugere ikke får to alerts, og derefter laver en popup, hvis to tidligere aflæste variable har de ønskede værdier ...

-- altså skal du på et tidligere tidspunkt aflæse cookie og indsætte session med dit serverside script i variabler ...


<script type="text/javascript">var alerted=false;</script>
<body onbeforeunload="alerted=true;event.returnValue=confirm('Er du sikker på, at du ikke vil besvare skemaet');" onunload="if(!alerted&&cookievalue&&sessionvalue)window.open('besvarDog.html','popWin');">
Avatar billede flushout Nybegynder
30. september 2004 - 12:56 #9
Det løser mit problem =)

Mange tak for hjælpen!

Smid et svar...
Avatar billede roenving Novice
30. september 2004 - 12:59 #10
Velbekomme '-)
Avatar billede roenving Novice
30. september 2004 - 13:09 #11
-- og tak for point ;~}
Avatar billede flushout Nybegynder
30. september 2004 - 13:16 #12
hehe.. du løste jo (igen igen) mit problem, så skal du da også have pointene :-)
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