Bei der Optimierung meiner Webseiten hat sich der
Javascript-Anteil immer weiter erhöht. Hier möchte ich auf meine speziellen Erfahrungen verweisen, damit Verwalter ähnlicher Projekte darauf zurückgreifen können. |
Alle Probleme hängen mit dem Timing zusammen.
In einem Rahmensystem kann zwar jedes Fenster die Variablen und Funktionen eines anderen Fensters benutzen,
es muss aber sicherstellen, dass die Nachbarobjekte zum Aufrufzeitpunkt auch existieren
(typischerweise treten solche Probleme nur im Online-Betrieb auf, wenn Ladezeiten ins Gewicht fallen).
Bei der Abfrage, ob ein Objekt im Nachbarfenster ansprechbar ist, darf ich das eigentliche Objekt erst ansprechen, wenn ich mich schrittweise von der Existenz der übergeordneten Objekte überzeugt habe. Die Existenz des Fensters sichert noch nicht die Existenz der darin definierten Funktionen! Ich könnte ja genau in der Ladezeit zuschlagen!
|
Sollte es notwendig sein, der Funktion Action () einen Parameter zu übergeben, darf keinesfalls eine Variable übergeben werden. Diese könnte zum Zeitpunkt des Timeouts schon nicht mehr existieren. Eine Variable als Parameter muss bei der Übergabe in setTimeout () in eine Konstante aufgelöst werden. Dies ist kein Problem, da ja ein String übergeben wird, der natürlich auch aus Teilstücken zusammengesetzt werden kann. |