Martin Wernecke: Applet-Funktion zu früh aufrufen

Wer so freundlich ist, und die Adresse http://www.morshausen.de/tour/htm/navigator.htm besucht, erhält in der Regel eine Javascript-Fehlermeldung, die mich als Gestalter der Seite seit geraumer Zeit ärgert. Ursache ist ein JavaScript-Aufruf im rechten Frame (der uebrigens 'Links' heisst), der seinerseits eine oeffentliche Java-Funktion des Applets 'mapper' im linken Frame (der uebrigens 'Rechts' heisst) aufruft, die ihrerseits eine Position in die Karte zeichnen soll.

Beim ersten Aufruf dieser öffentlichen Funktion erscheint nun also diese Fehlermeldung, im Anschluss klappt alles hervorragend. Ich vermute, dass das Applet noch nicht fertig initialisiert ist und deshalb seine oeffentlichen Funktionen noch nicht zur Verfuegung stellt, aber habe noch keinen Weg gefunden, den Fehler abzufangen. Wer weiss einen Weg?

  1. Die Idee gefaellt mir. Zwar ist es vielleicht eher eine Spielerei, und wirklich navigieren kann man auch nicht so gut, weil man nie weiss, in welche Richtung man gerade schaut (ich meine, in welche Richtung das Bild photographiert ist), aber huebsch isses allemal.

    Beim ersten Aufruf dieser öffentlichen Funktion erscheint nun also diese Fehlermeldung, im Anschluss klappt alles hervorragend. Ich vermute, dass das Applet noch nicht fertig initialisiert ist und deshalb seine oeffentlichen Funktionen noch nicht zur Verfuegung stellt, aber habe noch keinen Weg gefunden, den Fehler abzufangen. Wer weiss einen Weg?

    Wenn Deine Vermutung stimmt, dann mach im linken Frame (also 'Rechts' ;-)) eine Variable
    var LoadCompleted = 0;    (Initialisierung mit 0 nicht vergessen!)

    Ebenfalls im linken Frame: <BODY OnLoad="LoadCompleted = 1;">

    Vom rechten Frame aus fragst Du diese Variable ab und rufst die Funktion nur auf, wenn LoadCompleted == 1. Ist sie noch nicht auf 1, kannst Du entweder auf den Aufruf ganz verzichten, oder mit setTimout() den Aufruf auf spaeter verschieben.

    Calocybe

    1. Hallo Calocybe,

      vielen Dank für Deinen Tip, den ich direkt ausprobiert habe. Es scheint zu funktionieren, obgleich ich mir nie so sicher bin, ob auch der letzte Cache entleert und die Java-VM noch nicht gestartet war.

      In Bezug auf die Orientierungslosigkeit muß ich Dir rechtgeben, allerdings sind die Seiten im Wesentlichen für Leute aus der Gegend, also mit Ortskenntnis gemacht. Das Applet "Mapper" hätte ich noch mit einem Orientierungspfeil ausstatten sollen, dies würde nachträglich leider eine Winkelangabe in fast 300 Seiten erforderlich machen, wofür ich zu faul bin.

      Sicherheitshalber sende ich Dir diese Dankesantwort noch per eMail, weil Stefan Muenz' Forum so schnell expandiert, daß man sich den Zugriff auf Beiträge von vor zwei Tagen schon nur noch mit guter Internetanbindung erlauben kann.

      Viele Grüße

      Martin