Netscape rendert Perl-Skript-Rückgabe nicht
srob
- cgi
0 Rainer S.0 srob0 $xNeTworKx0 srob
0 Problem gelöst!
srob
N'abend!
Problem: Die von einem Perl-Skript zurückgegebene HTML-Seite (sorry, wenn das nicht fachgerecht bezeichnet ist - ich hoffe Ihr wißt, was gemeint ist!) wir vom IE wie gewünscht angezeigt. Netscape hingegen zeigt den Quelltext an (Skript wird fehlerfrei abgearbeitet). Genaue Angaben, welche Netscape-Versionen betroffen sind, liegen nicht vor - falls das von Bedeutung ist...
In welchem Bereich könnte die Ursache liegen? Hat des vielleicht etwas mit MIME zu tun?
Die ersten Zeilen der Rückgabe des Skripts sehen so aus:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>RadioInfoPool - Download</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Danke für Nase-in-die-richtige-Richtung-weisen!
TIA Robert
Hallo,
Problem: Die von einem Perl-Skript zurückgegebene HTML-Seite (sorry, wenn das nicht fachgerecht bezeichnet ist - ich hoffe Ihr wißt, was gemeint ist!)
die Ausdrucksweise ist einwandfrei :)
Das Problem ist anscheinend, daß der Server die Seite nicht als Content-Type: text/html ankündigt. Dies kannst Du sehen, wenn Du im Netscape auf der zurückgelieferten Seite mit der rechten Maustaste die Seiteneigenschaften aufrufst. Dort steht wahrscheinlich bei "Typ" text/plain.
Du kannst mit dem Perl-Skript zuerst "Content-Type: text/html", danach eine Leerzeile (also zwei Zeilenumbrüche oder zwei CRLF hintereinander) ausgeben, dann die HTML-Seite. Damit wird der Entsprechende HTTP-Header mitgesendet, und Netscape versteht's.
Schönen Gruß aus Bilk
Rainer
Du kannst mit dem Perl-Skript zuerst "Content-Type: text/html", danach eine Leerzeile (also zwei Zeilenumbrüche oder zwei CRLF hintereinander) ausgeben, dann die HTML-Seite. Damit wird der Entsprechende HTTP-Header mitgesendet, und Netscape versteht's.
Hallo Rainer,
vielen Dank für Deine rasche Antwort. Da ich hier keinen Netscape zur Verfügung habe, werde ich erst in den kommenden Tagen zum Testen kommen.
Habe gerade entdeckt, daß in dem im Skript verwendeten Modul CGI.pm eine Funktion header() enthalten ist, welche die von Dir angeführte Zeile/Leerzeile zurückgibt; werde das mal einbauen.
Schönen Abend noch...
Robert
Hi,
Habe gerade entdeckt, daß in dem im Skript verwendeten Modul CGI.pm eine Funktion header() enthalten ist, welche die von Dir angeführte Zeile/Leerzeile zurückgibt; werde das mal einbauen.
ganz am Beginn d. Ausgabe schreibst du print header(); oder print $cgivariable->header; je nach dem ob du CGI oder CGI Standard verwendest, oder ohne CGI Modul : print "Content-type:text/html\n\n";
P.S Netscape zeigt die Ausgabe richtig an im Gegensatz zum IE, der einfach die Angabe text/plain ignoriert.
$xNeTworKx.
P.S Netscape zeigt die Ausgabe richtig an im Gegensatz zum IE, der einfach die Angabe text/plain ignoriert.
Hi $xNeTworKx,
mit Bedacht habe ich es in meiner Frage so formuliert, daß NS den Quelltext anstelle der gerenderten Seite anzeigt. Nie würde ich in diesem sozialen Umfeld wagen, NS eine fehlerhafte Reaktion bei gleichzeitigem Wohlverhalten des IE zu bescheinigen!-)
Robert
Hallo Rainer,
Du kannst mit dem Perl-Skript zuerst "Content-Type: text/html", danach eine Leerzeile (also zwei Zeilenumbrüche oder zwei CRLF hintereinander) ausgeben, dann die HTML-Seite. Damit wird der Entsprechende HTTP-Header mitgesendet, und Netscape versteht's.
habe in die Rückgabefunktion des Skriptes
print header();
eingefügt - läuft!
Vielen Dank!
Robert