這不會在Safari工作:如何等待Java applet在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中加載頁面時,它在applet加載完成之前顯示警報(所以消息框顯示undefined
)。如果我刷新頁面,則小程序已經加載,並且警報顯示function myMethod() { [native code] }
,正如您所期望的那樣。
當然,這意味着applet方法在加載之前不可用,但Safari不會阻止JavaScript運行。 <body onLoad>
發生同樣的問題。
我需要的是類似<body onAppletLoad="doSomething()">
的東西。我該如何解決這個問題?
感謝
PS:我不知道,如果是相關的,但JAR簽署。
謝謝。這是一個恥辱,沒有一個更乾淨的方式來做到這一點! – 2009-08-18 12:01:13
你也可以簡單地檢查小程序。至少,你可以在Firefox中。我沒有在Chrome&IE中檢查過。這樣,您就不必修改applet以擁有特定的方法。 – 2013-05-24 14:24:26