webForumDet fria alternativet

få webläsaren att fatta att sidan är uppdaterad

Java

1 svar · 298 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#1

Hej!

Sitter och pillar med cookies...

Jag har display.jsp som skall visa innehållet i den aktiva kakan.

Jag har logout.jsp som ska radera kakan. Denna sida har även en länk tillbaks till display.jsp. Men väl tillbaks så syns kakans innehåll fortfarande. Stänger jag IE:s fönster och går till display.jsp igen så visar den att kakan är tom. Men varför måste jag manuellt stänga och öppna fönstret? Måste finns nåt sätt så att IE fattar det själv automatiskt..

Jag testade göra liknande sak med php och då fungerade det utmärkt så jag gissar att min jsp kod är felaktig...

Jag vill inte byta till php bara för att jag inte får detta att fungera med jsp. ;) Jsp känns som det mest naturliga valet för mig eftersom jag har erfarenhet av Java sen tidigare....

Medlem sedan sep. 2001961 inlägg
#2

Logout-loop

Det är en liten dumhet som IE med flera browsrar har för sig.

Det du gör är ju att du i jsp-koden sätter cookien i response-objektet. Den skickas tillbaka till browsern som tar bort cookien... men just borttagning av cookies är lågpriorietrat och går efter signalen att byta sida.

Vad du behöver göra är att göra en loop som med jämna mellanrum, säg 750 ms, ropar tillbaka till logout.jsp och först när du känner av att cookien är borta så kastar du vidare användaren till display.jsp.

Så här gör jag på en ASP-sida:

<%@ Language=VBScript  EnableSessionState=True%>
<% Option Explicit %>
<!-- #Include File = "../system/ServerBase.asp" -->
<%
Response.Expires=-10000
// Rensar bl.a. cookies
Call LogoutUser()
%>
<html>
<head>
<title>.</title>
<script>
	function ff()
	{
		<%if nSID = nSIDAnonymous Then%>
		window.open('<%=Application("DefaultRootDir")%>','_top');
		<%else%>
		window.open('logout.asp','_top');
		<%end if%>
	}
	function doload()
	{
		window.setTimeout('ff()',3000);
	}
</script>
</head>
<body onload="doload()">
Loggar ut. Vänta...
</body>
</html>

Orkade inte skriva och testa i jsp, men det är snarlikt... bara mindre kod.

/Lime

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)