Avatar billede gadebarnet Nybegynder
20. juli 2006 - 11:03 Der er 18 kommentarer

skrivning til database når browser lukkes

Jeg har brug for at kunne skrive til en database når browseren lukkes.

følgende metoder dur ikke.

global.asa - Da det sker for sent. Det skal ske med det samme.

onunload i body - Da det ikke fungere i alle browsere


flere ideer ?
Avatar billede jokkejensen Novice
20. juli 2006 - 12:16 #1
hmmm hvad med at lave en lille bitte iframe, med en metarefresh på 1 sekund, uden klik lyde, denne holder så gang i din session - og du kan så bruge global.asa's session_end..
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 12:29 #2
ja, men session_end kommer jo førdt når sessionen ender, og det sker førdt efter session.timeout... Altså ikke når man lukker browseren...
Avatar billede fennec Nybegynder
20. juli 2006 - 13:04 #3
Det kan du ikke lave 100%. Forstil dig f.eks at der sker en strøm afbrydelse, enten på serveren eller hos brugeren... Der er det kun session_end, der vil blive fanget (ikke ved server nedbrud).

Du bliver derfor nød til at bruge global.asa, hvis du vil være nogen lunde sikker på at der skrives til DB'en.

Men hvad er det du skal have skrevet i DB'en ved lukning?? Det kan måske laves anderledes...
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 13:11 #4
skal bare have skrevet 1 tekst i 1 row i 1 database.

Men global.asa tager jo på session timeout, og hvis den timerout på 20 min, så går der jo 20 min før den dør.
Avatar billede fennec Nybegynder
20. juli 2006 - 13:24 #5
Du kan jo manuelt nedsætte timeouten til 1 min:
session.timeout = 1

Nogle servere kører dog med et min på 4-5 min uafhængig af om timeouten er sat til mindre.
Avatar billede fennec Nybegynder
20. juli 2006 - 13:32 #6
Hvad er det du skriver ind, som er så viktig, at tiden, hvor det sker, er altafgørende??

Er det en "Du logget ud kl 13:36 20 juli."??
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 13:34 #7
Det er meget vigtigt at jeg ved om brugeren lokkede browser vinduet selv, eller om jeg gav grønt lys for det.
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 13:43 #8
Det er min egen server...

Men det går heller ikke, for så skal jeg lave noget java til at holde siden igang, og nogle af de clienter der opretter forbindelse kan ikke køre java.
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 13:44 #9
Jeg tænker at lave en der checker om window stadig er aktivt, og er det IKKE det så køre den en funktion.
Avatar billede fennec Nybegynder
20. juli 2006 - 14:00 #10
Hvis du gav grøn lys for at lukke vinduet (sikkert via en "luk vindue" knap), laver du en "lukket af dig" indsættelse, og i global.asa laver du en "lukket af bruger" indsættelse.
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 14:26 #11
ja, det var også planen, men "lukket af bruger" kommer jo så bare 20 min forsent, i forhold til session.timeout.


Har du styr på hvordan jeg laver en .closed i java script, på eget browser vindue? Jeg har styr på det når jeg selv åbner et nyt vindue med navn, men ikke når det er eget vindue
Avatar billede fennec Nybegynder
20. juli 2006 - 14:43 #12
window.close()

Er det et vindue som brugeren selv har åbnet (f.eks via "Start" menuen), kommer der en advarsel box frem. Den kan du IKKE undgå på nogen måde.
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 14:46 #13
den skal ikke lukke vinduet...

JEg skal kalde en event på eget vindue
Avatar billede fennec Nybegynder
20. juli 2006 - 15:00 #14
"Jeg skal kalde en event på eget vindue" - A hvad for noget??
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 15:04 #15
en "on self close" f.eks
Avatar billede fennec Nybegynder
20. juli 2006 - 15:10 #16
Det er onunload, som du selv har nævnt i dit indledende ?.
Avatar billede gadebarnet Nybegynder
20. juli 2006 - 15:33 #17
ja, men den køre også når indholdet af siden ændres... eller der linkes rundt i samme browser vindue...
Avatar billede fennec Nybegynder
20. juli 2006 - 15:56 #18
Enten via et frameset med en skjult frame, som tjekker for onunload. Denne bliver dog fanget af et tryk på F5.

Eller via det script, der er i dette ? (post 12/08-2003 08:33:14):
http://www.eksperten.dk/spm/322080
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

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