Sven Peters: externe Java-Script-Datei

Hallo.
Ich habe auch ein paar Probleme mit JavaScript in einer externen Datei (siehe 25.1.99).
Allerdings nur mit Programm-Versionen wie zum Beispiel IE 3.*.
Mit denen funktioniert das Ganze aus bekannten Gründen (leider noch nicht integriert) gar nicht.
Das Problem bei mir liegt leider im body, weil dort eine Funktion aufgerufen wird.
Beim IE 3.* tritt dann eine Fehlermeldung auf, Funktion nicht definiert.
Läßt sich die mit einfachen Mitteln unterdrücken?

Sven

  1. Hi,

    Das Problem bei mir liegt leider im body, weil dort eine Funktion aufgerufen wird.
    Beim IE 3.* tritt dann eine Fehlermeldung auf, Funktion nicht definiert.
    Läßt sich die mit einfachen Mitteln unterdrücken?

    ruf eine Funktion auf, die zunächst eine Browsererkennung macht. Näheres hierzu siehe <../../tech.htm>

    Prinzipiell solltest Du aber auf die .js-Dateien verzichten, die bringen mehr Probleme als Nutzen...

    Cheatah

  2. Hallo,

    Das Problem bei mir liegt leider im body, weil dort eine Funktion aufgerufen wird.
    Beim IE 3.* tritt dann eine Fehlermeldung auf, Funktion nicht definiert.
    Läßt sich die mit einfachen Mitteln unterdrücken?

    Versuch mal sowas:
    Angenommen, Deine Funktion mach_was() befindet sich in common.js
    <SCRIPT SRC="common.js">
      function mach_was()
      {}
    </SCRIPT>
    <BODY onload="mach_was()">
    ...
    Laut Netscape-Doku wird naemlich der Teil, der sich innerhalb eines SCRIPT-Tags mit SRC=...js befindet, nur abgearbeitet, wenn ein Fehler beim Einbinden der externen Datei auftritt.
    Damit sollte der Normalfall der sein, dass die Funktion aus common.js benutzt wird.
    Und eigentlich muessten die Browser, denen SRC ohnehin unbekannt ist, die Funktion abarbeiten, die direkt angebeben ist, in dem Fall hier gar nichts macht, lediglich Fehlermeldungen vermeidet.

    Ich habe das nie selbst benutzt, also ausprobieren ...

    Christine

    1. Hallo,

      Das Problem bei mir liegt leider im body, weil dort eine Funktion aufgerufen wird.
      Beim IE 3.* tritt dann eine Fehlermeldung auf, Funktion nicht definiert.

      Interessant ist, dass sogar der IE 3 ein externes JS laedt, wenn man dieses durch ein Perl-Script erstellen laesst, also so:
      <SCRIPT LANGUAGE="JavaScript" SRC="/cgi-bin/extern_js.pl?arguments" TYPE="text/javascript"></SCRIPT>

      Ja, wirklich, der IE 3 schafft das (genaugenommen 3.02). Hat mich auch voellig ueberrascht, als ich das festgestellt hab.

      Versuch mal sowas:
      <SCRIPT SRC="common.js">
        function mach_was()
        {}
      </SCRIPT>

      Sollte so gehen. Bei mir hat auch schon sowas funktioniert:

      <SCRIPT usw>
          function mach_was() {}      // fuer die tauben Browser
      </SCRIPT>
      <SCRIPT SRC="common.js"></SCRIPT>

      Wahrscheinlich "ueberschreibt" die Definition in der common.js die vorher definierte Funktion, falls die Datei eingebunden wird. Aber vermutlich ist das alles andere als browseruebergreifend (nich probiert), soll heissen Christine's Loesung ist vorzuziehen.

      Calocybe

      1. Hallo,

        Interessant ist, dass sogar der IE 3 ein externes JS laedt, wenn man dieses durch ein Perl-Script erstellen laesst, also so:
        <SCRIPT LANGUAGE="JavaScript" SRC="/cgi-bin/extern_js.pl?arguments" TYPE="text/javascript"></SCRIPT>
        Ja, wirklich, der IE 3 schafft das (genaugenommen 3.02). Hat mich auch voellig ueberrascht, als ich das festgestellt hab.

        Nicht nur Dich, da waren noch mehr Leute entsetzt.
        Genaugenommen schaffen es nicht alle 3.02er, sondern nur einer oder wenige - Unterschiede wie gewohnt in der fuenften Stelle hinter dem dritten Punkt der Versionsnummer <g>.
        Das Perl-Script spielt dabei meines Wissens keine Rolle.
        Sowas ist einfach nur aergerlich. Also der, der mir mal begegnet ist, der schaffte zwar das SRC, und gleich danach blieb er haengen. Ich weiss nicht merh 100%ig, was passiert ist.
        Mir faellt nur wieder ein, dass wir damals lang und breit diskutiert haben, nach Wegen gesucht, den davon abzuhalten. Hatten wir eine Loesung? Ich glaube nicht.

        soll heissen Christine's Loesung ist vorzuziehen.

        Im Prinzip. Aber genau an diesem Browser koennte die Loesung scheitern. An den habe ich vorhin naemlich nicht gedacht.
        Aber gehen wir mal davon aus, dass es davon nicht zu viele gibt und die Benutzer Kummer gewoehnt sind.
        Ja, ich weiss, so gut ist diese Einstellung nicht, und normaler Weise bestimmt nicht meine.
        Aber es gibt Bugs, gegen die faellt mir einfach nichts mehr ein...

        Christine

        Christine