Jak czekać na zakończenie ładowania apletu Java na Safari?
To nie działa w Safari:
<html>
<body>
<applet id="MyApplet" code="MyAppletClass" archive="MyApplet.jar">
<script type="text/javascript">
alert(document.getElementById('MyApplet').myMethod);
</script>
</body>
</html>
myMethod
jest publiczną metodą zadeklarowaną wMyAppletClass
.
Po pierwszym załadowaniu strony w przeglądarce Safari wyświetla alert przed zakończeniem ładowania apletu (wyświetla się okno komunikatu)undefined
). Jeśli odświeżę stronę, aplet został już załadowany i wyświetli się alertfunction myMethod() { [native code] }
, jak można się spodziewać.
Oczywiście oznacza to, że metody apletów są niedostępne, dopóki nie zostaną załadowane, ale Safari nie blokuje uruchamiania JavaScript. Ten sam problem występuje z<body onLoad>
.
Potrzebuję czegoś takiego<body onAppletLoad="doSomething()">
. Jak obejść ten problem?
Dzięki
PS: Nie jestem pewien, czy jest to istotne, ale JAR jest podpisany.