Cela ne fonctionne pas dans Safari:Comment attendre le chargement d'une applet Java sur Safari?
<html>
<body>
<applet id="MyApplet" code="MyAppletClass" archive="MyApplet.jar">
<script type="text/javascript">
alert(document.getElementById('MyApplet').myMethod);
</script>
</body>
</html>
myMethod
est une méthode publique déclarée MyAppletClass
. Lorsque je charge la page pour la première fois dans Safari, elle affiche l'alerte avant que l'applet ait fini de se charger (de sorte que la boîte de message affiche undefined
).
Si j'actualise la page, l'applet a déjà été chargée et l'alerte affiche function myMethod() { [native code] }
, comme vous pouvez vous y attendre.
Bien sûr, cela signifie que les méthodes de l'applet ne sont pas disponibles tant qu'il n'est pas chargé, mais Safari n'empêche pas l'exécution de JavaScript. Le même problème se produit avec <body onLoad>
.
Ce dont j'ai besoin est quelque chose comme <body onAppletLoad="doSomething()">
. Comment puis-je contourner ce problème?
Merci
PS: Je ne sais pas si elle est pertinente, mais le JAR est signé.
Merci. C'est dommage qu'il n'y ait pas une façon plus propre de faire ça! –
Vous pouvez également vérifier simplement l'applet. Au moins, vous pouvez dans Firefox. Je n'ai pas vérifié dans Chrome et IE. De cette façon, vous n'avez pas besoin de modifier l'applet pour avoir une méthode particulière. –