Avatar billede sierradriver Nybegynder
13. oktober 2003 - 09:48 Der 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 :-)


/Sierradriver
Avatar billede elskermad.dk Nybegynder
13. oktober 2003 - 09:54 #1
<html>
<head>
<script language='javascript' type='text/javascript'>
function showdiv(div) {
    if (document.getElementById(div).style.display == 'none') {
        document.getElementById(div).style.display = '';   
    }
    else {
        document.getElementById(div).style.display = 'none';    
       
    }
}
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>
Avatar billede elskermad.dk Nybegynder
13. oktober 2003 - 09:56 #2
rettelse: (hov :))

<html>
<head>
<script language='javascript' type='text/javascript'>
function showdiv(div) {
    if (document.getElementById(div).style.display == 'none') {
        document.getElementById(div).style.display = '';   
    }
    else {
        document.getElementById(div).style.display = 'none';   
       
    }
}
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>
Avatar billede sierradriver Nybegynder
13. oktober 2003 - 10:13 #3
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...
Avatar billede sierradriver Nybegynder
13. oktober 2003 - 10:14 #4
hov, jeg skal bare lære at læse... Sorry, prøver lige igen!!
Avatar billede sierradriver Nybegynder
13. oktober 2003 - 10:17 #5
Nu har jeg rettet det til, men den første tekst med "Vent venligst mens siden henter oversigten" kommer først frem lige før siden er indlæst...

<html>
<head>
<script language='javascript' type='text/javascript'>
function showdiv(div) {
    if (document.getElementById(div).style.display == 'none') {
        document.getElementById(div).style.display = '';   
    }
    else {
        document.getElementById(div).style.display = 'none';   
       
    }
}
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>
Avatar billede elskermad.dk Nybegynder
13. oktober 2003 - 10:21 #6
kan jeg se et eksempel?
Avatar billede elskermad.dk Nybegynder
13. oktober 2003 - 10:21 #7
altså kan du smide det op et sted så det kan ses
Avatar billede elskermad.dk Nybegynder
13. oktober 2003 - 10:22 #8
det med status-bar bliver nok en lidt for avanceret opgave for mig da det er database udtræk og ikk billeder som lidt nemmere ved hvor man har ;)
Avatar billede sierradriver Nybegynder
13. oktober 2003 - 10:44 #9
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...
Avatar billede elskermad.dk Nybegynder
13. oktober 2003 - 10:50 #10
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!
Avatar billede sierradriver Nybegynder
13. oktober 2003 - 12:43 #11
Så er spørgsmålet bare hvordan jeg så kan gøre istedet...
Avatar billede the_bma_man Nybegynder
13. oktober 2003 - 13:44 #12
Laver en mellemliggende side, der så i et onload-event læser den anden side.
Avatar billede sierradriver Nybegynder
13. oktober 2003 - 23:00 #13
Har du et eksempel på hvordan det gøres?
Avatar billede the_bma_man Nybegynder
14. oktober 2003 - 14:34 #14
Hup - sov lidt.
Ikke med en statusbar.

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.
Avatar billede sierradriver Nybegynder
15. oktober 2003 - 11:35 #15
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!
Avatar billede sierradriver Nybegynder
20. oktober 2003 - 09:12 #16
Nå, jeg får nok ikke svar på det sidste spørgsmål... Så her er der nogle point til deling...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB