Popup Bitte Warten!
Leeloo5E
- javascript
Hallo,
Eigentlich dachte ich schnell so ein Script zu finden, damit ich auch recht einfach umsetzen kann. Nur leider klappts net ganz so wie gewollt.
Folgendes Szenario:
Bei Klick auf einen Link, geht ein Popup auf mit der Ausschrift "Dokument wird geladen." Dazu noch eine GIF-Animation, um den User vorzugauckeln, dass da was passiert. Im selben Fenster soll dann jedoch der Output passieren. Das Hauptfenster bleibt unverändert.
Derzeit bekomme ich es nur hin, das Popup mit dem animierten GIF anzuzeigen und den Output dann im Hauptfenster anzuzeigen. Dies soll jedoch nicht passieren.
Zweite Möglichkeit: Popup mit GIF öffnen, wobei das GIF gar nicht erst richtig geladen wird -> danach gleich noch ein GIF öffnen, in dem dann der Output angezeigt wird. Würde aber heißen, dass gleich zweimal der selbe Prozess abgearbeitet wird - da ächzt mein Server ganz schön. Ok, beim Öffnen des ersten Popups kann ich auch das Ziel weglassen. Jedoch wird dann gleich das zweite Popup drüber gelegt und der Effekt ist weg.
Nur ein Popup und Abarbeiten der performanten Aufgabe hat eine Endlosschleife zur Folge, d.h. mein Popup bekommt nie das Ergebnis zu Gesicht. Laut error_log meines Apachen will er immer ins Verzeichnis /srv/www/htdocs wechseln, wo er natürlich nicht hin darf. Er soll ja den Output angeben. Tut aber eben nicht.
Hier mal mein bisheriger Code dazu:
var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
if (!url) return true;
var w = 600;
var h = 400;
var args = 'width='+w+',height='+h+',resizable,'+'scrollbars=yes';
popdown(); //Funktion zum Schließen des Fensters
//1. Popup oeffnen
pop = window.open(url,'',args);
// Ein wenig HTML da rein machen
pop.document.writeln('<hmtl><head><title>Seite lädt.........................</title> </head>');
pop.document.writeln('<body bgcolor="#FFFFFF"><center>');
pop.document.writeln('<p><font face="Arial" size=2 color="#000000"><b>Seite wird geladen...</b></font></p>');
pop.document.writeln('<font face="Arial" size=2><b>Bitte warten.</b></font>');
pop.document.writeln('<p><img src="pic/Wait.gif" title="Bitte Warten!"/></p></center>');
pop.document.writeln('</body></html>');
pop.document.close(); // erstes Popup wieder schließen
//Zweites Popup oeffnen
pop = window.open(url,'',args);
return (pop) ? false : true;
Das erste Popup ohne url öffnen oder gar nicht erst schließen, beide unterschiedlich nennen ... bringt mir alles überhaupt nix.
Hat vielleicht jemand von Euch da eine Lösung auf Lager? Obwohl hier grad die Sonne scheint, mag mir kein Licht aufgehen.
Gruß,
Leeloo
hi,
Bei Klick auf einen Link, geht ein Popup auf mit der Ausschrift "Dokument wird geladen." Dazu noch eine GIF-Animation, um den User vorzugauckeln, dass da was passiert. Im selben Fenster soll dann jedoch der Output passieren. Das Hauptfenster bleibt unverändert.
Ich würde ein Popup anzeigen, welches erst mal nur die "bitte warten"-Nachricht enthält - und dann seinerseits per Meta-Refresh vom Server die Ressource anfordert, deren Berechnung länger dauert.
(Ein animiertes GIF wird der IE dabei aber höchstvermutlich nicht weiterhin animiert anzeigen.)
gruß,
wahsaga
Hallo wahsage,
danke für den Tipp. Das mag hier aber auch irgendwie nicht funktionieren. Mir bleibt leider auch die Ursache verschlossen, da weder das Apache error_log noch die Fehlerkonsole diesbezüglich Ausgaben machen. Das einzige was kommt sind wieder Mal: Zugriff auf /srv/www/htdocs nicht erlaubt. Stimmt ja auch. Nur was will er da!?
Gruß,
Leeloo