webForumDet fria alternativet
Logga in / Bli medlem

onload

ASP

16 svar · 233 visningar · startad av Poffe

Medlem sedan apr. 20022 743 inlägg
Trådstart#1

hmm.. vet inte riktigt om detta hör hemma i asp eller js forumet men..

jag har en asp-sida som tar lång tid att ladda (det är helt naturligt efter som den har myyycket info att hantera) så jag funderade lite och kom fram till att ett s.k. onload-script skulle sitta fint.

alltså att det står typ "Laddar.." menads sidan laddar och sen när den är klar så visas sidan. Men eftersom asp körs av servern onnan den kommer till webbläsaren så funkar inte vanliga javascript för detta eftersom de körs först efter att sidan har skickats till webbläsaren, alltså har tiden redan gått medan den laddtads av servern..

Så finns det nån lösning på detta problem tror ni? typ så att den laddar sidan i bakgrunden av en annan och sen när den är fördigladdad så skickas man till den.

nån som har en idé på hur detta kan lösas? (om det va nån som fattade vad jag menar :h)

Medlem sedan dec. 2000557 inlägg
#2

Response.Flush och Response.Buffer borde la fungera..

ex.

<%

	Response.Flush
		Response.Write "Laddar sidan.."
	
	Response.Buffer = True
		' Resten av din kod..

%>
Medlem sedan apr. 20022 743 inlägg
#3

*tackar och bockar med hatten i handen*

ska testa det :)

Medlem sedan apr. 20022 743 inlägg
#4

*efter ett snabbt test*

verkar inte funka :(
det står "Laddar sidan.." när den inte laddar och när den laddar så står inget alls

Medlem sedan nov. 20017 144 inlägg
#5

Men eftersom asp körs av servern onnan den kommer till webbläsaren så funkar inte vanliga javascript för detta eftersom de körs först efter att sidan har skickats till webbläsaren

Fel!
använd:response.buffer=true
Kör javascriptet med "Laddar sidan..."
Kör Response.flush
Loopa recordsetet
Funkar 100% bra för mig.

Medlem sedan apr. 20022 743 inlägg
#6

testar detta istället, tackar!

Medlem sedan apr. 20022 743 inlägg
#7

hmm.. ja du, märker ingen skillnad mot vad Palle skrev, alltså omvänd ordning.

det står alltså fortfarande Laddar sidan.. när den är fördig och inte när den laddas

Medlem sedan dec. 2000557 inlägg
#8

Gjorde ett litet snabbtest, detta fungerar bra:

<html>
<head>

<script language="JavaScript">
function hide_it(){
	if (document.all){
		document.all["loadmessage"].style.visibility = "hidden";
	}
	if (document.layers){
		document.layers.loadmessage.visibility = "hide";
	}
}
</script>

</head>
<body onLoad="hide_it()">
<span id="loadmessage" style="position: absolute; background: #ffffff; width: 100%; height: 100%;">Sidan laddas, vänta...</span><br>

<%

	Response.Buffer = True
		For i = 1 To 500000
			Response.Write "#"
		Next

%>

</body>
</html>
Medlem sedan apr. 20022 743 inlägg
#9

inte för mig :(

har testat nång ggr nu och jag ser inte texten "Sidan laddas, vänta"

den bara laddar..

Medlem sedan nov. 20017 144 inlägg
#10

Kör javascriptet med "Laddar sidan..."
Du måste använda javascript som plockar bort texten när sidan är laddad.

Medlem sedan nov. 20017 144 inlägg
#11

Vad har du för webläsare?

Medlem sedan apr. 20022 743 inlägg
#12

förstår inte riktigt hur du menar Jesper, typ som den kod Palle postade nu?

Medlem sedan apr. 20022 743 inlägg
#13

IE 6.0

testade nu i NS och Opera oxå, i Opera funkar det inte heller och i NS står det bara Sidan laddas.. hela tiden

Medlem sedan nov. 20017 144 inlägg
#14

typ som den kod Palle postade nu

Japp...

Medlem sedan apr. 20022 743 inlägg
#15

okej, får det inte att funka bara.. hmm jaja, får väll ha det som det är nu.. lite trist med bara en vit sida när den laddas men

Medlem sedan dec. 2000557 inlägg
#16

Du kan ju trösta dig med att det fungerar fin fint i IE 5.5 iaf.. ;)

Medlem sedan apr. 20022 743 inlägg
#17

hehe, ja det får jag göra :D

Tack grabbar för hjälpen!

378 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
127 ms — hämta statistik (db)
126 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)