Utz: Wer ist schneller ??? oder warten beide aufeinander ???

Beitrag lesen

Hi Marcus,

AFAIK ist es nicht standardisiert, ob ein Browser mit er Ausführung eines Meta-Refreshs warten muss, bis die HTML-Datei komplett übertragen wurde, oder nicht. Das hängt also von den Browser-Programmierern hab, kann sich also auch mal ändern. Und selbst wenn der Browser wartete, so wird er bestimmt nicht auch darauf warten können, ob eine Bildreferenz einen Eintrag in den Logfiles macht (bzw. ein CGI-Programm startet und seine Information übergibt).

Mein Vorschlag: geh anders an die Sache ran - übergib den zu protokollierenden Referrer einfach an die Seite index1.shtml und verarbeite ihn erst dort, wo Du nicht mehr durch Weiterleitungen ausgebremst werden kannst.
Hier ein ungetestetes Beispiel (musst Du evtl. noch debuggen):

<html>
<head>
<title>irgendwas</title>
<meta http_equiv="refresh" content="10;URL=http://www.pbtoys.de/index1.shtml">
<script type="text/javascript">
<!--
function weiterleitung()
  {
    window.name = document.referrer;
    location.replace(http://www.pbtoys.de/index1.shtml);
  }
//-->
</script>
</head>
<body onLoad="weiterleitung()">
</body>
</html>

Das schreibt den Referrer in den Fenster-Namen und leitet dann zu index1.shtml weiter; ohne JavaScript wird dann nach 10 Sekunden zu index1.shtml weitergeleitet - Du verlierst damit den Referrer, aber den verlierst Du ohne JavaScript ja so oder so.

In index1.shtml notierst Du dann irgendwo:

<script type="text/javascript">
<!--
document.write('<img src="http://www.pbtoys.de/cgi-bin/toprefferer/refferers.cgi?'+window.name+'" width=1 height=1 border=0>');
//-->
</script>

In window.name ist ja der Referrer gespeichert, und damit protokolliert Dein CGI-Programm völlig korrekt den ursprünglichen Referrer.

Ich hoffe, das hilft Dir etwas.

Grüße,

Utz