esto no funciona en Safari:¿Cómo esperar a que un applet de Java termine de cargarse en Safari?
<html>
<body>
<applet id="MyApplet" code="MyAppletClass" archive="MyApplet.jar">
<script type="text/javascript">
alert(document.getElementById('MyApplet').myMethod);
</script>
</body>
</html>
myMethod
es un método público consignado en MyAppletClass
.
Cuando carga por primera vez la página en Safari, muestra la alerta antes de que el applet haya terminado de cargarse (por lo que el cuadro de mensaje muestra undefined
). Si actualizo la página, la aplicación ya se ha cargado y la alerta muestra function myMethod() { [native code] }
, como era de esperar.
Por supuesto, esto significa que los métodos de applet no están disponibles hasta que se carguen, pero Safari no está bloqueando la ejecución de JavaScript. El mismo problema ocurre con <body onLoad>
.
Lo que necesito es algo así como <body onAppletLoad="doSomething()">
. ¿Cómo puedo solucionar este problema?
Gracias
PS: No estoy seguro de si es relevante, pero que se firme el JAR.
Gracias. Es una pena que no haya una manera más limpia de hacerlo. –
También puede simplemente buscar el applet. Al menos, puedes hacerlo en Firefox. No he comprobado en Chrome & IE. De esta forma, no es necesario modificar el applet para tener un método en particular. –