/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Hvordan laves en online-liste ?
Fra : Jakob Munck


Dato : 26-10-01 19:06

Jeg har et lille kontaktbureau på nettet og kunne godt tænke mig at lave en
online-liste, der viser hvilke af brugerne der på et givent tidspunkt er
logget ind og bruger tjenesten. Jeg ved hvordan man får brugere der er
logget ind på en sådan onlineliste. Det gør man ved at der i forbindelse med
at de logger sig ind rettes i et felt i deres individuelle record, som viser
at de nu er logget ind. Det er ikke så svært.

Men hvordan sørger man for, at dette felt rettes tilbage, når brugerne ikke
mere er logget ind ? Erfaringen viser nemlig, at mindst hver anden af dem
ikke bruger den autoriserede måde at logge sig ud på. De klikker bare på et
link til en anden hjemmeside via deres browser, og forlader dermed min site,
men uden at jeg har mulighed for at registrere dette som en hændelse, der
kan rette indlogningsfeltet tilbage til den oprindelige tilstand.

Jeg har altså brug for - tror jeg - at bruge session-objektet på en eller
anden måde, således at brugere der de facto har forladt siten, efter en vis
periode, registreres som ikke-tilstedeværende. Det kan ske ved at en
sessionvariabel udløber (typisk efter 20 min.).

Men hvordan får jeg udløbet af denne sessionvariabel til at udløse at feltet
i brugerens record rettes tilbage til starttilstanden?

Eller er der en helt anden måde, som er meget lettere end den jeg her
forestiller mig?

Gode idéer modtages med glæde.

v.h.
Jakob Munck



 
 
Knud Westdorf (26-10-2001)
Kommentar
Fra : Knud Westdorf


Dato : 26-10-01 20:54

Hej Jakob

For ikke at gøre det hele mere kompliceret end det er, vil jeg mene, du blot
skal bruge en "onUnload" funktion på eksempelvis din menu- eller titel-frame
(hvis du altså benytter frames).

Fx:

<HEAD>
<SCRIPT LANGAUGE="JavaScript">
function fnUserIsLeaving() {
window.open('goodbye.asp');
}
</SCRIPT>
</HEAD>
<BODY onUnload="fnUserIsLeaving();">
....

Og så bare rette brugerens recordset i "goodbye.asp" og lave en
JavaScript-funktion der lukker vinduet igen ("window.close()"). Vist ca.
denne metode, der bruges på dating.dk.


--
Med venlig hilsen
Knud Westdorf
knud@westdorf.dk
www.jirty.dk


"Jakob Munck" <jakob.munck@tdcadsl.dk> wrote in message
news:3bd9a2b6$0$25376$edfadb0f@dspool01.news.tele.dk...
> Jeg har et lille kontaktbureau på nettet og kunne godt tænke mig at lave
en
> online-liste, der viser hvilke af brugerne der på et givent tidspunkt er
> logget ind og bruger tjenesten. Jeg ved hvordan man får brugere der er
> logget ind på en sådan onlineliste. Det gør man ved at der i forbindelse
med
> at de logger sig ind rettes i et felt i deres individuelle record, som
viser
> at de nu er logget ind. Det er ikke så svært.
>
> Men hvordan sørger man for, at dette felt rettes tilbage, når brugerne
ikke
> mere er logget ind ? Erfaringen viser nemlig, at mindst hver anden af dem
> ikke bruger den autoriserede måde at logge sig ud på. De klikker bare på
et
> link til en anden hjemmeside via deres browser, og forlader dermed min
site,
> men uden at jeg har mulighed for at registrere dette som en hændelse, der
> kan rette indlogningsfeltet tilbage til den oprindelige tilstand.
>
> Jeg har altså brug for - tror jeg - at bruge session-objektet på en eller
> anden måde, således at brugere der de facto har forladt siten, efter en
vis
> periode, registreres som ikke-tilstedeværende. Det kan ske ved at en
> sessionvariabel udløber (typisk efter 20 min.).
>
> Men hvordan får jeg udløbet af denne sessionvariabel til at udløse at felt
et
> i brugerens record rettes tilbage til starttilstanden?
>
> Eller er der en helt anden måde, som er meget lettere end den jeg her
> forestiller mig?
>
> Gode idéer modtages med glæde.
>
> v.h.
> Jakob Munck
>
>



Jakob Munck (26-10-2001)
Kommentar
Fra : Jakob Munck


Dato : 26-10-01 22:22

Metoden du anbefaler er udmærket, men den har den lidt generende bivirkning,
at der bliver åbnet og straks efter lukket et mini-popup-vindue hver gang
brugeren forlader siten. Kan det ikke undgås på en eller anden måde? Er det
nødvendigt at åbne et vindue, for at få Javascript til at eksekvere noget
asp ? Findes der ikke Java, der eksekverer asp, uden først at skulle åbne et
vindue?


v.h.
Jakob Munck


PS. Jeg ved at dette bevæger sig over mod en anden gruppes emne, men jeg
mener at tråden kan bevares her, da det trods alt handler om at aktivere
asp-kode v.hj.a. javascript (eller på anden vis).



Knud Westdorf (27-10-2001)
Kommentar
Fra : Knud Westdorf


Dato : 27-10-01 00:27

Hej Jakob

Det kan godt lade sig gøre at eksekvere ASP fra JavaScript, jo. Det kommer
dog så til at afhænge af, om brugeren har en MSIE (eller kompatibel)
browser. Det kan gøres ved at bruge "remote scripting". Med denne metode kan
et ASP-script eksekveres direkte på serveren og resultatet tilbagesendes.
Dette kan gøres synkront eller asynkront. Første løsning vil naturligvis
være at foretrække da JavaScript'et ellers vil melde fejl, når den kommer
tilbage og den ikke kan "aflevere" resultatet..

Du kan læse mere om remote scripting på http://msdn.microsoft.com/workshop.

--
Med venlig hilsen
Knud Westdorf
knud@westdorf.dk
www.jirty.dk


"Jakob Munck" <jakob.munck@tdcadsl.dk> wrote in message
news:3bd9d0cc$0$25392$edfadb0f@dspool01.news.tele.dk...
> Metoden du anbefaler er udmærket, men den har den lidt generende
bivirkning,
> at der bliver åbnet og straks efter lukket et mini-popup-vindue hver gang
> brugeren forlader siten. Kan det ikke undgås på en eller anden måde? Er
det
> nødvendigt at åbne et vindue, for at få Javascript til at eksekvere noget
> asp ? Findes der ikke Java, der eksekverer asp, uden først at skulle åbne
et
> vindue?
>
>
> v.h.
> Jakob Munck
>
>
> PS. Jeg ved at dette bevæger sig over mod en anden gruppes emne, men jeg
> mener at tråden kan bevares her, da det trods alt handler om at aktivere
> asp-kode v.hj.a. javascript (eller på anden vis).
>
>



Jakob Munck (27-10-2001)
Kommentar
Fra : Jakob Munck


Dato : 27-10-01 05:16

> browser. Det kan gøres ved at bruge "remote scripting". Med denne metode
kan
> et ASP-script eksekveres direkte på serveren og resultatet tilbagesendes.


Men i dette tilfælde skal ASP-scriptet jo bare eksekveres på serveren, og
intet behøver at blive sendt tilbage. Når brugeren forlader siten, så rettes
hans record, så feltet med "online_nu" bliver sat til nul igen.

Kan man ikke bare rette dette javascript:

window.open('goodbye.asp');

så der i stedet for "window.open" står noget i retning af "file.execute"
(pseudokode, jeg kender ikke den rigtige javascript-syntaks) ?


v.h.
Jakob Munck




Knud Westdorf (27-10-2001)
Kommentar
Fra : Knud Westdorf


Dato : 27-10-01 09:48

"Jakob Munck" <jakob.munck@tdcadsl.dk> wrote in message
news:3bda31ca$0$25380$edfadb0f@dspool01.news.tele.dk...
> > browser. Det kan gøres ved at bruge "remote scripting". Med denne metode
> kan
> > et ASP-script eksekveres direkte på serveren og resultatet
tilbagesendes.
>
>
> Men i dette tilfælde skal ASP-scriptet jo bare eksekveres på serveren, og
> intet behøver at blive sendt tilbage. Når brugeren forlader siten, så
rettes
> hans record, så feltet med "online_nu" bliver sat til nul igen.
>
> Kan man ikke bare rette dette javascript:
>
> window.open('goodbye.asp');
>
> så der i stedet for "window.open" står noget i retning af "file.execute"
> (pseudokode, jeg kender ikke den rigtige javascript-syntaks) ?

Det er mig bekendt ikke muligt, - men måske andre har en sådan løsning?

--
Med venlig hilsen
Knud Westdorf
knud@westdorf.dk
www.jirty.dk



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408856
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste