Jag skulle villja kunna mäta tiden på hur länge en person surfar på en speciell sida. Samtidigt som personen ska kunna se en räknare som räknar minuter och sekunder. När personen klickar sig vidare eller stänger ner fönstret skall tiden sparas i en databas och om personen laddar sidan vid ett senare skede skall timern starta där han slutade senast. Har dock ingen aning om det skulle kunna funkar rent praktiskt men kanske i kombination med något javascript?
Javascript krävs helt klart, eftersom ASP inte kan ha någon aning om vad som försigår mellan sidvisningarna. Det blir svårt att bygga en heltajt lösning, men i princip så kan man gå tillväga så här:
blablabla....
<head>
<%
strKey = [i]generera en slumpad nyckel på något sätt[/i]
[i]Hämta från databasen: tidpunkt när användaren senast lämnade denna sida, om någon sådan post finnes (se nedan)[/i]
[i]Logga i databasen: tidpunkt, slumpnyckel, vilka sida det är och vilken besökare[/i]
%>
<script type="text/javascript">
function logUnload()
{
img=new Image();
img.src='logunload.asp?key=<%=Server.URLEncode(strKey)%>';
}
</script>
<body onunload="logUnload();">
blablabla
i logunload.asp
strKey=Request.Querystring("key")
[i]Logga i databasen att användaren lämnat sidan med den givna nyckeln[/i]
Detta är en fungerande lösning, men den är inte bombsäker. Onunload är inte 100%-ig och dessutom kräver ju detta Javascript för att något ska hända.
Alternativ:
-Skicka med all information om vilken sida det är, vilken användare etc. i querystringen till logunload.asp. Dock bör den informationen vara tvåvägskrypterad i så fall, så att ingen fuskar.
-Ha en timer-baserad javascriptfunktion (liknande logUnload, men triggad genom genom t.ex. setInterval el. setTimeout), som kontinuerligt loggar att användaren fortfarande är på sidan.
-Lagra informationen i cookies, mha Javascript och ASP.
Ingen lösning blir heltajt, men det ligger i själva webbens natur, eftersom servern inte vet vad som händer efter att sidan levererats till klienten.
Jag gjorde ungfär som i ditt exempel ovan, och det verkar funka bra. Har dock inte testat så mycket ännu.
Bara en sak kvar! Går det att lägga in en minut och sekund räknare på relativt enkelt sätt?
Mvh,
Jimpa
267 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25