Hi,
This doesn't work in Safari:
<html>
<body>
<applet id="MyApplet" code="MyAppletClass" archive="MyApplet.jar">
<script type="text/javascript">
alert(document.getElementById('MyApplet').myMethod);
</script>
</body>
</html>
myMethod
is a public method declared in MyAppletClass
.
When I first load the page in Safari, it shows the alert before the applet has finished loading (so the message box displays undefined
) . If I refresh the page, the applet has already been loaded and the alert displays function myMethod() { [native code] }
, as you'd expect.
Of course, this means that the applet methods are not available until it has loaded, but Safari isn't blocking the JavaScript from running. The same problem happens with <body onLoad>
.
What I need is something like <body onAppletLoad="doSomething()">
. How do I work around this issue?
Thanks
PS: I'm not sure if it's relevant, but the JAR is signed.