Wie warte ich, bis ein Java-Applet auf Safari geladen ist?

Dies funktioniert in Safari nicht:

<html>
<body>
<applet id="MyApplet" code="MyAppletClass" archive="MyApplet.jar">
<script type="text/javascript">
   alert(document.getElementById('MyApplet').myMethod);
</script>
</body>
</html>

myMethod ist eine in deklarierte öffentliche MethodeMyAppletClass.

Wenn ich die Seite zum ersten Mal in Safari lade, wird der Alarm angezeigt, bevor das Applet vollständig geladen wurde (daher wird das Meldungsfeld angezeigt)undefined). Wenn ich die Seite aktualisiere, wurde das Applet bereits geladen und die Warnung wird angezeigtfunction myMethod() { [native code] }, wie Sie es erwarten würden.

Dies bedeutet natürlich, dass die Applet-Methoden erst nach dem Laden verfügbar sind, Safari jedoch nicht die Ausführung von JavaScript blockiert. Das gleiche Problem passiert mit<body onLoad>.

Was ich brauche, ist so etwas wie<body onAppletLoad="doSomething()">. Wie kann ich dieses Problem umgehen?

Vielen Dank

PS: Ich bin mir nicht sicher, ob es relevant ist, aber die JAR ist signiert.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage