Internet Explorerでできることは、やりたいことを実行するメソッドを公開するアプレットをページにロードすることです。アプレットへの参照を取得し、その参照でメソッドを呼び出します。
<applet id="myAppletId" name="myAppletName" ...>
var applet = document.getElementById('myAppletId');
var d = applet.getDateFromApplet();
アプレットにはgetDateFromApplet()
、を返すパブリックメソッドが必要java.util.Date
です。
私が提示するものは機能するはずですが、これを実行してから何年も経っています(当時、NS4、6、およびIE 4+で機能していました)。使用しませんでしたgetElementById()
が、使用しvar applet = document.myAppletName;
ました。
これに対する他の厄介な問題は、これをページの読み込み時に実行したい場合、アプレットはほぼ確実に準備ができていないことです。これには、次のようなコードが必要です。
function checkApplets() {
var da = document.applets; // document.getElementsByName('applet');?
if (da.length > 0) {
for (var ii = da.length; ii-- > 0;) {
if (!da[ii].isActive()) {
window.timerId = setTimeout(checkApplets, 250);
return;
}
}
if (window.timerId) {
clearTimeout(window.timerId);
}
}
window.appletsLoaded = true;
}
最後に、タグを使用してこれを実行できる可能性がありますが、前述し<object>
たように、クライアント側のJavaScriptからこの方法でJavaアプレットを操作する必要があったので、テストしていません。 。