Jens Peter Karlsen [FP-MVP] skrev:
> Det kan ikke laves clientside så prøv at spørge i
> d.e.i.w.serverside.asp nyhedsgruppen.
Det kan kun laves som en kombination af clientside og serverside.
Jeg har fx lavet en redigeringsside der kommer med en pop op-
advarsel når der er minutter tilbage af sessiontiden.
Javascriptkoden er baseret på setTimeout, og de værdier der skal
bruges til settimeout genereres af asp.
Det er ikke en sikker metode, fordi en session godt kan fornys i et
andet vindue end det der har en kørende javascripttæller - og så
bliver javascriptet ikke nulstillet. Men det er bedre end ingenting
- de folk der har brugt 25 minutter på at redigere teksten på en
side, og så opdager at den er væk når de forsøger at gemme den,
sætter stor pris på at få en advarsel før timeout.
Følgende kode inkluderes med asp i toppen af alle asp-filer i et
redigeringssystem:
<%
Dim advanceWarning, wTimeout, eTimeout
advanceWarning = 2
wTimeout = (session.timeout - advanceWarning) * 60000
eTimeout = (session.timeout) * 60000
%>
<script type="text/javascript">
window.setTimeout("alert('Advarsel: Din login-session er ved
at løbe ud. Gem dit foreløbige arbejde eller vælg en ny side for at
forny din session.');",<%=wTimeout%>);
window.setTimeout("alert('Advarsel: Din login-session er
muligvis løbet ud. Hvis du har lavet ændringer der ikke er gemt,
bør du kopiere eller udskrive teksten før du går
videre.');",<%=eTimeout%>);
</script>
Det giver dels en advarsel 2 minutter før (formodet) timeout og
dels en advarsel når timeout er nået (så kan brugeren kopiere
større tekstmængder før han forsøger at poste dem).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html