Response.Flush och Response.Buffer borde la fungera..
ex.
<%
Response.Flush
Response.Write "Laddar sidan.."
Response.Buffer = True
' Resten av din kod..
%>
16 svar · 233 visningar · startad av Poffe
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 )
Response.Flush och Response.Buffer borde la fungera..
ex.
<%
Response.Flush
Response.Write "Laddar sidan.."
Response.Buffer = True
' Resten av din kod..
%>
*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
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.
testar detta istället, tackar!
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
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>
inte för mig
har testat nång ggr nu och jag ser inte texten "Sidan laddas, vänta"
den bara laddar..
Kör javascriptet med "Laddar sidan..."
Du måste använda javascript som plockar bort texten när sidan är laddad.
Vad har du för webläsare?
förstår inte riktigt hur du menar Jesper, typ som den kod Palle postade nu?
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
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
Du kan ju trösta dig med att det fungerar fin fint i IE 5.5 iaf..