13. oktober 2003 - 09:48Der er
14 kommentarer og 2 løsninger
Vent mens siden hentes + evt. status-bar
Ganske kort:
Hvordan laver jeg en "Vent mens siden hentes"?
Når siden er igang med at lave et stort database udtræk kan der i visse tilfælde ved større belastning opstå lidt ventetid, og for at gøre brugeren opmærksom på det vil jeg have en "Vent mens siden hentes" besked fremme, meget gerne med en form for status-bar, så brugeren kan se hvor lang tid der rent faktisk skal ventes...
Kan det ordnes relativt simpelt, og hvordan? Hvis ikke det kan løses simpelt, så må du selvfølgelig stadig skrive dit svar :-)
} } function load() { showdiv('load'); showdiv('indhold'); } </script> </head> <body onLoad='load()'> <div id='load'>her er teksten som vises mens der hentes</div> <div id='indhold'>her er teksten som vises efter load, eller tungere dele som billeder eller database udtræk</div> </body> </html>
} } function load() { showdiv('load'); showdiv('indhold'); } </script> </head> <body onLoad='load()'> <div id='load' style='display:'>her er teksten som vises mens der hentes</div> <div id='indhold' style='display:none'>her er teksten som vises efter load, eller tungere dele som billeder eller database udtræk</div> </body> </html>
Hmmm, jeg har sat det ind som det skal ifølge det du har skrevet, men... Der går noget tid før teksten om at der skal ventes kommer frem, og den sidste del kommer først frem når siden er færdigindlæst...
} } function load() { showdiv('load'); showdiv('indhold'); } </script> </head> <body onLoad='load()'> <div id='load' style='display:'>Vent venligst mens siden henter oversigt</div> <div id='indhold' style='display:none'>Database udtræk og hvad siden nu ellers skal hente...</div> </body> </html>
Så vidt jeg lige kan gætte mig frem til, så må det være fordi at der er lang svartid på selve serveren, og scriptet bliver først vist idet siden er hentet fra serveren... eller noget...
ja filen bliver først vist så snart den er genereret på serveren, altså man begynder først at modtage siden når serveren er færdig med at skrive den, -skulle jeg da hvert fald mene... så mit load-script virker kun hvis det er en tung side at hente, altså at den fylder meget!
Men for at få teksten ud, så laver du bare en almindelig html-side, hvor der står "Vent venligst". Og så i toppen (jaja, jeg er lige gået fra java-fætteren et øjeblik) sætter du følgende: <meta http-equiv="refresh" content="1; url=<dinsideher"> Det burde kunne bruges.
Det er en hel fin løsning, endnu et problem er dog at jeg gerne ville undgå at siden medtages når brugeren bruger tilbage knappen i browseren
Nu ser det således ud:
Forside ---> Venteside -- (videresending via meta) --> ASP side
Når brugerene så skal tilbage til forsiden, tror de at de bare kan bruge tilbage knappen i browseren... Men for at det virker skal de trykke "tilbage" 2 gange... Kan jeg undgå det? Hvis der er et svar på det spørgsmål, så smider jeg 30 point ekstra i puljen... Tak for den hjælp jeg har fået indtil videre!
Nå, jeg får nok ikke svar på det sidste spørgsmål... Så her er der nogle point til deling...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.