Andreas Bierhals: ab NS 4.08 läuft's prima, aber NS 4.03 gibt Fehlermeldungen

Beitrag lesen

Hallo undine,

beim Einlesen der Funktion gibts die Meldung: function not always returns a value

in der Zeile des Funktionsaufrufts (z.B. Body onLoad): funtion is not defined

Aber dies eben alles nur bei  NS 4.03 und 4.05... darüber läufts prima.

zunächst mal - nur zur Sicherheit, weißt Du wahrscheinlich sowieso - ab Netscape 4.06 aufwärts werden alle Fehlermeldungen in der 'Javascript-Konsole' gesammelt sind also nicht mehr direkt sichtbar. Diese erhält man durch Eingabe von "javascript:" in der URL-Zeile.

Nun noch zum Skript:
In der Funktion moveIt() (in intro.htm) stehen ja eine ganze Reihe von if-Abfragen der Form

if(parseInt(<wert>)><irgendwas>) { tue_was(); ... }

Bei einer Verzweigung steht zusätzlich "return true; " hinter der if-Abfrage. D.h. manchmal gibt die Funktion den Wert true zurück, manchmal gar keinen Wert - und das scheint den JS-Interpreter zu stören. Abhilfe: Entweder das "return true;" weglassen, oder - falls Du den Return-Wert benötigst - ganz am Ende der Funktion hinter allen if-Abfragen ein "return false;" schreiben.

Die andere Fehlermeldung "moveIt() is not defined" könnte ein Folgefehler der ersten Fehlermeldung sein. Der JS-Interpreter traf ja in der Funktion moveIt() auf besagten obigen Fehler und hat daher die Funktion vielleicht nicht vollständig "gefressen", d.h. kein Funktionsobjekt generiert, so daß moveIt() in nachfolgenden Aufrufen auch nicht bekannt ist.
Soviel erstmal zu meinen Spekulationen... ;-)

Viele Grüße

Andreas