Horst Eschborn: externe .js-Datei: Offline immer okay, Online nur teilweise

Hallo zusammen,

nachdem ich jetzt schon einige Stunden rumgedoktert und auch das halbe Netz abgegoogelt habe, poste ich mein Problem mal hier mit der großen Hoffnung auf Hilfe... ;-))

  1. Kurzbeschreibung  -----------------------------------------

In meinem simplen Beispiel wird aus einer HTML-Datei ein externes js-File eigebunden. Die dort definierte Funktion wird aufgerufen. Diese Funktion generiert eine neue HTML-Seite, aus der wiederum das js-File eingebunden werden soll.

  1. Verhalten --------------------------------------------------

Lokal auf meinen Rechnern funktioniert alles einwandfrei (IE, NS, Opera).

Auf meinen Domains im Internet wird der erste Zugriff auf das js-File einwandfrei durchgeführt. Doch der zweite (aus der generierten HTML-Seite) schlägt fehl.
Der IE hängt mit 100% CPU-Last, zeigt aber noch in der Statusleiste des generierten Fensters den korrekten Pfad des js-Files...
NS und Opera laufen zwar durch, haben die js-Datei aber nicht eingebunden.

  1. Der Code ----------------------------------------------------

Der Link zum ausprobieren:
http://www.eschborn-horst.de/Test/Test2.html

Der Pfad des js-files:
http://www.eschborn-horst.de/Test/Test2.js

Und zum direkten Lesen:

Test2.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Test2-Window</TITLE>
<META http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<META http-equiv="Content-Script-Type" content="text/javascript">
<SCRIPT type="text/javascript" src="Test2.js"></SCRIPT>
</HEAD>

<BODY>
<h1>Dies ist Test2</h1>
<SCRIPT type="text/javascript">ShowSubwin2();</SCRIPT>
</BODY>
</HTML>

Test2.js

function ShowSubwin2()
{
    var s_winImgShow = window.open("", "Subwin2", "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes,width=1000,height=200");

s_winImgShow.document.open();
    s_winImgShow.document.writeln("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>");
    s_winImgShow.document.writeln("<HTML><HEAD><TITLE>SubWindow2</TITLE>");
    s_winImgShow.document.writeln("<META http-equiv='Content-Type' content='text/html;charset=iso-8859-1'>");
    s_winImgShow.document.writeln("<META http-equiv='Content-Script-Type' content='text/javascript'>");
    s_winImgShow.document.writeln("<SCRIPT type='text/javascript' src='Test2.js'></SCRIPT>");
    s_winImgShow.document.writeln("</HEAD>\n");
    s_winImgShow.document.writeln("<BODY>");
    s_winImgShow.document.writeln("<h1>Dies ist das Sub-Fenster2</h1>");
    s_winImgShow.document.writeln("</BODY></HTML>");
    s_winImgShow.document.close();
}
#####################################################################

  1. Abschließend -------------------------------------------------

Noch 'ne Info:

Meine beiden Domain-Hoster sind '1&1' und 'domainfactory'. Sie benutzen beide den Apache Server.

Meine Hoffnung:

Kann mir jemand erklären, was hier los ist?
Aber bitte keine Diskussion über den Zweck des obenstehenden Codes.
Es ist nur das kleinstmögliche Beispiel, daß den Fehler reproduziert.
Die Sache ist in einem viel größeren Projekt aufgetreten...

Vielen Dank im Voraus für eure Antworten ;-))

Horst

  1. Hi,

    function ShowSubwin2()
    {
        var s_winImgShow = window.open("", "Subwin2", "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes,width=1000,height=200");

    s_winImgShow.document.open();
        s_winImgShow.document.writeln("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>");
        s_winImgShow.document.writeln("<HTML><HEAD><TITLE>SubWindow2</TITLE>");
        s_winImgShow.document.writeln("<META http-equiv='Content-Type' content='text/html;charset=iso-8859-1'>");
        s_winImgShow.document.writeln("<SCRIPT type='text/javascript' src='Test2.js'></SCRIPT>");

    Du bindest hier mit einer relativen URL eine Test2.js ein, die im selben Verzeichnis liegen soll wie das HTML-Dokument.
    In welchem Verzeichnis aber liegt denn das HTML-Dokument?

    Benutze die absolute URL.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Du bindest hier mit einer relativen URL eine Test2.js ein, die im selben Verzeichnis liegen soll wie das HTML-Dokument.
      In welchem Verzeichnis aber liegt denn das HTML-Dokument?

      Benutze die absolute URL.

      Hallo Andreas,

      danke für deine Antwort.
      Deine Idee ist aber leider nicht die Ursache.

      1. Ich habe ja erwähnt, daß der IE in der Statuszeile des Sub-Windows den korrekten Pfad der js-Datei anzeigt, bevor er hängt.

      2. Ich habe es im Vorfeld tatsächlich auch mal mit absolutem Pfad probiert. Ergebnis ist das gleiche.

      Randbemerkung:
      Für mein erwähntes Projekt kommen absolute Pfade deshalb nicht in Frage, weil der gesamte Projekt-Teilbaum mit allen Dateien absolut identisch sowohl auf einem beliebigen Server als auch offline (z.B. von CD) funktionieren muß.

      Viele Grüße,
      Horst