(PERL und IE) Wie beende ich ein Skript richtig, dass auch der IE es merkt?
Christoph
Hallo Ihr Programmierer,
ich habe etwas Aerger mit meinem Internet Explorer. Nachdem mein Perl-Skript schon lange seine Daten gesendet hat, zeigt der IE immernoch eine Sanduhr und den blauen "Ladebalken" an. Man kann zwar ganz normal arbeiten, aber es irritiert doch!
Bei einem anderen Skript das aehnlich arbeitet, erscheint die Sanduhr nur dann, wenn man sich ausserhalb des HTML-Fensters (ueber den IE-Button) befindet.
Was mein Skript macht: Zuerst schickt es
print "Pragma: no-cache\n";
print "Expires: Thu, 01 Dec 1994 16:00:00 GMT\n";
print "Content-type: text/html\n\n";
und danach eine ganz normale HTML-Datei, ohne JavaScript und relativ kurz (1/2 Bildschirmhoehe)
Kann/Muss ich irgendeinen Abschluss schicken? Muss ich eventuell alles auf (1024*x) Byte auffuellen?
Ich hatte ein aehnliches Problem mit einer Grafik im IMG-Tag, bei welcher der IE auch erst nach einem Timeout (ca 30 sec) das Bild angezeigt hat. Dort konnte ich die Anzeige beschleunigen, indem ich einfach Muell-Daten hinterher geschickt habe. Was soll das alles???
Danke fuer die Hilfe,
Chris
PS. im Netscape ist alles ok!
Hallo Chris,
ich habe das auch schon mal beobachtet, aber ich hatte nie die Lust und die Zeit dem auf den Grund zu gehen.
Schließt du denn deine Scripte mit einem exit; ab? Sendest du am Ende auch ein </html>?
Gruß
Cruz
Hey Cruz,
ja, ich sende ein exit; (allerdings kein exit(0);) und die HTML-Datei ist ebenfalls komplett!
Chris
Hey Cruz,
ja, ich sende ein exit; (allerdings kein exit(0);) und die HTML-Datei ist ebenfalls komplett!
Chris
--
moaosid
exit(0) muss nicht sein, denn 0 ist der default value für einen exit.
mehr fällt mir leider auch nicht dazu sein, du beendest die ausgabe vom script korrekt mit </html> und exit, einfach nur datenmüll hinterher zu schieben kann es einfach nicht sein! LOL
vielleicht kannst du ja wenigstens einen workaround dafür finden, wie z.B anstatt die html seite auszugeben sie zu schreiben und den user dann darauf umzuleiten.
ach noch etwas, benutzt du vielleicht FastCGI oder mod_perl? dann werden die scripte nämlich nicht beendet und vielleicht meint der IE 4.X dann noch unbedingt dranbleiben zu müssen.
Gruß
Cruz
Moin!
Kann/Muss ich irgendeinen Abschluss schicken? Muss ich eventuell alles auf (1024*x) Byte auffuellen?
Ich habe sowas zwar noch nie beobachtet (naja, hab ja auch keinen IE *g*), aber versuch mal, nach dem </HTML> noch ein \n auszugeben. exit(0) kann auch nichts schaden. Ansonsten wuerde ich es als Bug im IE bezeichnen (bei welchen Versionen tritt es auf?).
Ich hatte ein aehnliches Problem mit einer Grafik im IMG-Tag, bei welcher der IE auch erst nach einem Timeout (ca 30 sec) das Bild angezeigt hat. Dort konnte ich die Anzeige beschleunigen, indem ich einfach Muell-Daten hinterher geschickt habe. Was soll das alles???
Frage ich mich auch. ;-)
So long
bei welchen Versionen tritt es auf?
Es geht hier um den IE 4.0 (4.72.2106.8). Ich weiss nicht ob es bei anderen IE-Versionen aehnliche Probleme gibt. Dieser IE ist jedoch unser Referenz-Browser. Dort muss es laufen!
Cheers,
Christoph