Bei history.back() wird Quellcode der vorherigen Seite angezeigt
Andreas Zimmermann
- browser
Hi,
mich verfolgt schon seit längerer Zeit ein äußerst seltsamer Effekt , der aber auch nur sporadisch auftritt:
Ich habe eine Seite, die komplett durch CGIs besteht. D.h. der Seitenquellcode wird von einem CGI als text/html zum Browser geschickt. Bis dahin passt alles - wenn ich aber auf den "Zurück" Button des Browsers oder auf einen Link mit HREF "javascript:history.back()" klicke, wird zwar die vorherige ´Seite angezeigt, jedoch nicht etwa mit Layout, sondern ALS QUELLTEXT!!
*puh*
Das macht mich jedes Mal fertig. Vor allem, weil das jetzt auch schon anderen Besuchern aufgefallen ist. Woran könnte das liegen? Hier mal ein Ausschnitt aus dem Quelltext der Seite:
<meta http-equiv="expires" content="0"><meta http-equiv="cache-control" content="no-cache, must-revalidate"><meta http-equiv="pragma" content="no-cache">
<HTML>
<head>
<title>Ohne Namen</title>
<script language="javascript">
function imgOn(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "on.src");
}
}
function imgOff(imgName) {
if (document.images) {
document[imgName].src = eval(imgName + "off.src");
}
}
img1on = new Image();
img1on.src = "images/zuruck.gif";
img1off = new Image();
img1off.src = "images/zuruck2.gif";
</script>
<script language="javascript" src="js/global.js"></script>
</head>
<body bgcolor="#ffffff" background="images/back_5.gif" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0"
link="#196a61" alink="#000000" vlink="#196a61">
</body>
</HTML>
Was verursacht diesen Anzeigefehler im Browser? Liegt es vielleicht an der Serverkonfiguration? Vielleicht hat ja jemand schonmal diesen Fehler erfolgreich beseitigen können...
Ciao
Andreas
Hi,
wenn ich aber auf den "Zurück" Button des Browsers
welcher Browser?
jedoch nicht etwa mit Layout, sondern ALS QUELLTEXT!!
Auch wenn Du dann einen Reload durchführst? Meldet Dir Dein Browser Seiteneigenschaften? Bist Du _sicher_, dass Du text/html schickst? Gibt es irgendwelche anderen erwähnenswerten Header?
Was verursacht diesen Anzeigefehler im Browser?
Was ist heute dran? Ah ja: die Erdstrahlung.
Liegt es vielleicht an der Serverkonfiguration?
Der Server kann nichts dafür, wenn der Client das selbe Ergebnis mal so und mal so darstellt. Vielleicht kann er etwas _dagegen_ - dann aber vermutlich auch nicht der Server, sondern nur das serverseitige Script.
Cheatah
Hi Cheatah,
welcher Browser?
egal, mit MSIE genau das Selbe wie mit Netscape. Egal welche Browserversion.
Auch wenn Du dann einen Reload durchführst? Meldet Dir Dein Browser Seiteneigenschaften? Bist Du _sicher_, dass Du text/html schickst? Gibt es irgendwelche anderen erwähnenswerten Header?
Auch, wenn ich Strg+R oder F5 drücke. Ich bin mir sicher, dass text/html der einzige Header ist. Ich habe das CGI selbst geschrieben.
Was ist heute dran? Ah ja: die Erdstrahlung.
Hmmm... Schon möglich.
Der Server kann nichts dafür, wenn der Client das selbe Ergebnis mal so und mal so darstellt. Vielleicht kann er etwas _dagegen_ - dann aber vermutlich auch nicht der Server, sondern nur das serverseitige Script.
Meine ich ja *g* Aber ich habe schon viele hundert CGIs programmiert und nur bei einigen tritt dieser Fehler ganz sporadisch auf.
Ciao
Andreas
Hi,
egal, mit MSIE genau das Selbe wie mit Netscape. Egal welche Browserversion.
[...]
Auch, wenn ich Strg+R oder F5 drücke. Ich bin mir sicher, dass text/html der einzige Header ist. Ich habe das CGI selbst geschrieben.
kannst Du 'ne URL nennen?
Was ist heute dran? Ah ja: die Erdstrahlung.
Hmmm... Schon möglich.
:-)
Cheatah
Die URL gehört nicht unbedingt in ein Forum, deshalb habe ich Dir ein Mail geschickt!
Ciao
Andreas
Hi,
Die URL gehört nicht unbedingt in ein Forum, deshalb habe ich Dir ein Mail geschickt!
der Header ist defekt. Offenbar generiert irgendwas (im Header!) eine Fehlerausgabe, die dazu führt, dass der eigentliche Content-Type erst im Response-Body kommt. Warum irgendein Browser[1] dort jemals HTML-Code analysieren und interpretieren sollte, ist mir schleierhaft.
Cheatah
[1] Der IE ist ja bekanntlich kein solcher ;-)
hi
<meta http-equiv="expires" content="0"><meta http-equiv="cache-control" content="no-cache, must-revalidate"><meta http-equiv="pragma" content="no-cache">
<HTML>
DA gehört der <meta/> nicht hin - dagehört nur ein DOCTYPE hin - könnte die Mime-Erfennung vom MSIE stören (ob du text/html angibst, ist dem egal)
Grüße aus Lüneburg
Kai