これはSafariで動作しません:SafariでJavaアプレットの読み込みを待つ方法を教えてください。
<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が署名されています。
ありがとうございました。これを行うためのよりクリーンな方法がないのは残念です! –
また、単にアプレットを確認することもできます。少なくとも、あなたはFirefoxですることができます。私はChromeとIEでチェックしていません。そうすれば、特定のメソッドを持つようにアプレットを変更する必要はありません。 –