webForumDet fria alternativet

session.abandon vid onunload

ASP

4 svar · 306 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej :)
Hur gör man för att köra

session.abandon

vid <body onunload>

Eller det kanske man inte kan?

dvs döda sessionen bär man stänger fönstret

Mvh
Henrik

Medlem sedan dec. 19996 721 inlägg
#2

Det går, men då måste du göra om alla länkar och formulärpostningar på sidan, så att de ignoreras av eventhandlern, eftersom en unload sker så fort man navigerar iväg från sidan.


<script>

var abandon=true;
window.onunload=checkUnload;

function checkUnload()
{
   if (abandon)
   {
      imgAbandon=new Image();
      imgAbandon.src="abandonsession.asp";
   }
}

</script>
<body>

<a href="sidan.asp" onclick="abandon=false;">hej</a>
Medlem sedan jan. 20013 582 inlägg
#3

:e

Det går, men då måste du göra om alla länkar och formulärpostningar på sidan, så att de ignoreras av eventhandlern, eftersom en unload sker så fort man navigerar iväg från sidan.

hmm, vad menar du? har lite svårt att förstå... :r
Jag använder mig av endast en session-variabel och sidan ifråga är ett poupupfönster, som iofs är ett frameset. Session-variabeln behövs endast när popupfönstret är öppet. Frågan är väl om den behäver dödas. Den kommer ju få ett "nytt" värde när man klickar på ett uppdrag och ett "nytt" popupfönster öppnas... Vad tror du?

Skulle du kunna förklara koden lite närmare

...och det var tydligen en javascript-fråga.... sorry

Mvh

Henrik

Medlem sedan dec. 19996 721 inlägg
#4

devotion skrev:

Session-variabeln behövs endast när popupfönstret är öppet. Frågan är väl om den behäver dödas. Den kommer ju få ett "nytt" värde när man klickar på ett uppdrag och ett "nytt" popupfönster öppnas... Vad tror du?

Det låter inte som om det finns någon direkt anledning att döda variabeln.

devotion skrev:

Skulle du kunna förklara koden lite närmare

<script>

//global variabel som bestämmer huruvida sessionen ska dödas eller inte
var abandon=true;

//gör så att funktionen checkUnload körs vid onunload. I princip samma som att sätta det i själva html-taggen 
window.onunload=checkUnload;

function checkUnload()
{
   //kör endast om abandon är true
   if (abandon)
   {
      //trigga körningen av en fil innehållande "session.abandon". 
      //Gör det enkelt genom att skapa ett bildobjekt och sätta src till asp-sidans URL.
      imgAbandon=new Image();
      imgAbandon.src="abandonsession.asp";
   }
}

</script>
<body>

<!--exempel på hur en länk på sidan kan se ut. Vid onlick sätts abandon till false, vilket gör att abandonsession.asp inte körs.-->
<a href="sidan.asp" onclick="abandon=false;">hej</a>
Medlem sedan jan. 20013 582 inlägg
#5

Wee, kanon!

Men, det verkar inte som den behöver dödas... Har inte märkt av några konstigheter än när jag testkört. Det blir väl så att den antar ett nytt värde när man öppnar ett nytt popupfonster. Och vilket värde som den har när inget popupfönster är öppnat spelar ju ingen roll, då det inte används då...

Men jag lägger scriptet till arkivet...

Tack för förklaringen...

Mvh
henrik

280 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
145 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
143 ms — ändringar (db)