Thomas Mirke: Externe JS-Dateien, globale Variablen, Netscape

Hallo, liebe Fachleute,

ich habe eigentlich weniger eine Frage, wollte diesmal etwas mitteilen, was ich so klar noch nicht im Forum gefunden habe (möglich, dass ich mich irre und es steht doch irgendwo, dann könntet Ihr diesen Hinweis netterweise vielleicht noch an diesen Thread anfügen ...).

Es geht um externe js-Dateien.
Ich verwendete für allgemeine Routinen eine "global.js".
<script src="js/global.js"></script>

Hier wurden neben Funktionen auch direkt Variablen definiert, also globale Variablen.

Dies ist für den IE (>4) kein Problem.
NN (>=4.01) "kennt" NACH DEM ERSTEN START zwar die Funktionen aus global.js, aber alle global definierten Variablen und Arrays nicht.

Mausklick auf den Aktualisierungsbutton vertreibt das Gespenst und auch der NN kennt nun die globalen Variablen.

Werden während der gleichen Session weitere Seiten aufgerufen, die einen Verweis auf global.js enthalten, gibt es keine Probleme.

Leider habe ich bislang keine Lösung gefunden, den NN vielleicht softwareseitig nach dem ersten Aufruf der Startseite zu einem refresh zu bringen. Alle diese Versuche führten zu heftigen Reaktionen wie bluescreens, Abstürzen, Hängern usw.

Eine wenig elegante Lösung ist, die globalen Variablen eben doch wieder in der htm-Datei zu führen und die js-Dateien nur als Funktions-Bibliotheken zu nutzen.

Bis dann,
Thomas

  1. Hi Thomas!

    Dies ist für den IE (>4) kein Problem.
    NN (>=4.01) "kennt" NACH DEM ERSTEN START zwar die Funktionen aus global.js, aber alle global definierten Variablen und Arrays nicht.

    ehrlich gesagt kenne ich _dieses_ problem/phaenomen nicht, ich kann dir nur aus meiner erfahrung sagen, das es normalerweise keine probleme geben sollte ?!? hast du eine url wo man sich das anschauen koennte?

    greetz,
    Hoagie

  2. Hi

    also wenn es das ist was ich vermute , dann hilft es evtl. das externe
    Script auf der Startseite sowohl im Head wie auch im Body einzubinden.
    Frag mich nicht warum es so ist , aber auf einer Seite von mir hilft das.

    Auf meiner Startseit sieht das so aus :

    <script language="JavaScript" src="../scripts/menu.js"></script>
    <script language="JavaScript">
    SetCSS();  
    </script>
    </head>
    <body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0>
    <script language="JavaScript" src="../scripts/menu.js"></script>
    <script>makeMenues();</script>

    während auf allen anderen Seiten dann folgendes problemlos funzt :

    <script language="JavaScript" src="../scripts/menu.js"></script>
    <script language="JavaScript">
    SetCSS();
    makeMenues();  
    </script>
    </head>

    gruss
    Jens