Как дождаться завершения загрузки Java-апплета в Safari?
Это не работает в Safari:
<html>
<body>
<applet id="MyApplet" code="MyAppletClass" archive="MyApplet.jar">
<script type="text/javascript">
alert(document.getElementById('MyApplet').myMethod);
</script>
</body>
</html>
myMethod
это публичный метод, объявленный вMyAppletClass
.
Когда я впервые загружаю страницу в Safari, она показывает предупреждение до того, как апплет завершит загрузку (поэтому отображается окно сообщенияundefined
) Если я обновлю страницу, апплет уже загружен и появится предупреждениеfunction myMethod() { [native code] }
, как и следовало ожидать.
Конечно, это означает, что методы апплета недоступны до тех пор, пока он не загрузится, но Safari не блокирует запуск JavaScript. Та же проблема происходит с<body onLoad>
.
Что мне нужно, это что-то вроде<body onAppletLoad="doSomething()">
, Как мне обойти эту проблему?
Спасибо
PS: я не уверен, что это актуально, но JAR подписан.