webForumDet fria alternativet

Visa "Laddar..." tills dess att innehållet laddat färdigt!

HTML & CSS

6 svar · 701 visningar · startad av oskars

Medlem sedan nov. 20051 317 inlägg
Frågan#1

*hoppas på att jag postar i rätt forum, hoppas på att jag postar i rätt forum*

Hej på er :e

Jo, jag har ett liten fråga. Jag har en iframe (jag vet. Fyyyy, men det är till en intern applikation, och det lämpar sig väldigt bra iframe för detta), och i denna laddas en sida med ett par SQL-frågor som tar ganska lång tid att ladda (typ 3-4 sekunder), och jag önskar att det visas en typ "Laddar..."-text innan sidan är färdig, så att användaren förstår att någonting kommer att dyka upp inom kort, och inte bara klickar vidare sig! Det är ASP och MySQL som jag använder, fast jag tror inte att det har något med saken att göra dock! Men kanske javascript vill hjälpa mig?

Går detta att lösa på ett bra och smidigt sätt?

Vore hemskt tacksam för hjälp!

Mvh
Oskar

Medlem sedan sep. 2005673 inlägg
#2

Om du har möjlighet att nyttja AJAX så kan du använda en updateprogress control, riktigt fiffig. Mer information hittar du här:

http://www.asp.net/AJAX/Documentation/Live/tutorials/UpdateProgressTutorials.aspx

Edit. Såg att du skrev asp, jag tänkte på asp.net och det är ju en annan sak. I så fall kan du inte använda ajax, var lite för snabb där.

Medlem sedan aug. 20068 090 inlägg
#3

Ett ganska enkelt och opretentiöst (men likafullt väldigt bra) sätt är att täcka hela sidan med en absolut positionerad div med en bakgrundsfärg och texten "laddar sidan...".

I koden lägger man den direkt efter <body>

Åsså i bodytaggen har man lagt ett javascript som gör divven "hide" på "onLoad" (om jag inte minns helt fel).

Vad som händer då är att divven lägger sig över hela sidan och täcker den, men försvinner när hela sidan laddat färdigt. Finessen är bl.a. att man INTE lägger in en loadbar eller nåt, eftersom den ska vara så extremt snabbladdad som bara möjligt.

Medlem sedan nov. 20051 317 inlägg
#4

inspiro, fast jag kan väl använda AJAX även fast jag inte kör ASP.NET? :)

Danne, det där sa Google också, men jag får det inte att fungera, allt innehåll visas ändå bara när SQL-frågan är färdig:

<html>
<head>
</head>
<body onload="document.all.hidepage.style.visibility = 'hidden';">
<div id="hidepage"> 
	page loading ... please wait.
</div> 

*** CONTENT ***

</body>
</html>
Medlem sedan nov. 20051 317 inlägg
#5

Jaha, nu förstod jag! Jag var tvungen att lägga preload-scriptet på sidan som INNEHÅLLER iframen, inte sidan som ska vara I iframen :)

Tack för hjälpen!

Medlem sedan aug. 20068 090 inlägg
#6

oskars skrev:

Jaha, nu förstod jag! Jag var tvungen att lägga preload-scriptet på sidan som INNEHÅLLER iframen, inte sidan som ska vara I iframen :)

Tack för hjälpen!

Eehhh... det tänkte faktiskt inte jag heller på. Jag tänkte mig att divven skulle in i sidan som laddar i iframen. Va bra att du löste det trots det! (y)

Medlem sedan nov. 20051 317 inlägg
#7

:) Yes, jag tycker ändå att vi tänkte rätt :D

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