1

HTML ページにアプレットを埋め込んでいます。特にない:

<applet archive='static/app/applet.jar' code='appletclass/AppletClass'>
    <param name='name' value='Applet name'>
    <param name='mayscript' value='true'>
</applet>

アプレット自体にはlist、持続的な計算を実行するメソッドがあります。このメソッドは、JavaScript を使用してページから呼び出されます。

try {
    appletElement.list();
} catch (ex) {}

もちろん、長時間の計算では、すべての計算が完了するまでブラウザ ウィンドウがフリーズします。

ブラウザがフリーズせずに (ある程度) 「非同期」にアプレットを操作する回避策はありますか? アプレット ソースでスレッドを使用する意味はありますか?

手伝ってくれてありがとう!

4

3 に答える 3

2

mayscript 属性に関するページで、次の情報を見つけることができます。

LiveConnect は、Java アプレットとクライアント側スクリプト (JavaScript、VBScript など) の間の対話を可能にするテクノロジです。古い Java ブラウザ プラグイン (Java バージョン 1.6.0.10 より前) では、アプレットはデフォルトで LiveConnect を使用できませんが、その設定は MAYSCRIPT 属性で変更できます。互換性の理由から (Internet Explorer の Java プラグインは常にアプレットがクライアント側スクリプトにアクセスできるようにするため)、新しい Java プラグイン ( Java バージョン 1.6.0.10 以降) は MAYSCRIPT 属性をチェックせず、スクリプト アクセスはすべてのブラウザーで常に許可されます

FF 18.0.1、Opera 11 または 12、Chrome および IE9 で確認しましたが、これは追加作業なしで動作します ( Oracle ページのチュートリアル - MAYSCRIPT は必要ありません。JSObject のみを使用してplugin.jarをインポートします)。

于 2013-02-04T20:19:14.820 に答える
0

これを行うには、アプレットでスレッドを使用し、JSObject を使用してページにコールバックします。

于 2015-06-16T19:05:06.003 に答える
-1

アプレット内から何ができるかはわかりませんが、単純な javascript/html の観点からは、計算が完了するのを同期方式で待機することになります。サーバーからデータを取得している場合、これは異なります。

于 2012-05-21T21:24:17.973 に答える