Progressbar - Ladestatusanzeige für DB-Abfrage?

Jerinca

Erfahrenes Mitglied
Hallo!

Ich habe im Internet ein JavaScript gefunden, daß mir eine Ladestatusanzeige ausgibt, während die Bilder einer Site geladen werden. Sind alle Bilder geladen, verschwindet die Leiste wieder.

Was ich nun aber bräuchte, wäre genau sowas, aber für Datenbank-Abfragen!

Beispiel: Ich habe ein Berichtsmenü mit vielen Buttons, die zu unterschiedlichen Berichten (ASP-Sites mit Daten ohne Interaktionsmöglichkeit) führen. Je nach dem, welcher Bericht aufgerufen wird, braucht es länger zum Laden der neuen Seite (hängt v.a. von der Anzahl der auszulesenden Datensätze ab).

Zu der Zeit passiert gar nix im Fenster, so daß der User sich wundern könnte und vielleicht denkt, daß der Browser hängen geblieben ist oder so...

Deswegen möchte ich eine Einblendung à la "wird geladen..." eben genau solange, bis die neue Site geöffnet ist!

Hat da jemand vielleicht ein Ideechen?

Danke schonmal für jede Anregung!

Gruß, Jerinca
 
In PHP gibts die Methode flush()... damit kann man den Ausgabepuffer leeren... also Daten an den Browser senden, auch wenn das Skript noch nicht fertig ist.
Das wäre genau das, was du bräuchtest.

Ich hab mal kurz gegoogelt... bei ASP gibts auch eine Flush-Methode... probiers mal damit:)

Beim onLoad kannst du die entsprechende Meldung dann per JS verstecken.
 
Hmmm... okay: Flush.

Aber wo baue ich das denn nun ein?

Ich dachte, Daten werden immer dann verschickt, wenn ein Submit aktiviert wird; also in etwa so:

Berichtsmenü: Submit-Button <- Klick => Daten vom Berichtsmenü werden an die Site weitergegeben, die durch den Submit aufgerufen wird bzw. dort über Request ausgelesen

Wie und wo paßt denn da nun ein Flush rein? Und wie verarbeite ich das dann in meiner Ladestatusanzeige-Funktion?

Muß das Flush ins Berichtsmenü oder in den aufzurufenden Bericht?

Ich hab' da echt keinen Schimmer - sorry :(

Ach ja, und vor allem: Wie bekomme ich den Bezug zur Ladezeit eines Recordsets hin?
 
Zuletzt bearbeitet:
Das Flush muss in den aufzurufenden Bericht, würd ich mal sagen(der ist es ja, der seine Zeit braucht).

Ohne mit ASP vertraut zu sein, würde ich mal Folgendes vorschlagen(von dem verlinkten Beispiel ausgehend)

Code:
<%
Response.Buffer=true
%>
<html>
<head>
<title>Bericht</title>
</head>
<body onload="document.getElementById('msg').style.display='none'">
<p id="msg">Bitte Warten, der Bericht braucht einen Moment....</p>
<%
Response.Flush
%>
<!-- Hier dann weiter mit der Ausgabe des Berichtes -->
</body>
</html>
Genaueres dazu wissen sicher die Leute im ASP-Board.
 
Zurück