2

アプレットを作成しました。以下のように展開ツールキットを使用して展開されます (URL は偽物です)。

<script type="text/javascript" 
             src="https://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {
        code:'br.com.brandizzi.adam.applet.MyApplet.class',
        archive:'http://adam.brandizzi.com.br/html/applet.jar',
        width : 50,
        height : 1
    };
    var parameters = {
        fontSize : 1,
    };
    var version = '1.6';
    deployJava.runApplet(attributes, parameters, version);
</script>

それはうまくいきます。幸いなことに、JVM を使用しないマシンから自分のサイトにアクセスすると、常にhttp://www.java.comにリダイレクトされました。ドキュメントには次のように記載されています。

クライアントが必要な最小バージョンの JRE ソフトウェアを持っていない場合、Deployment Toolkit スクリプトはブラウザをhttp://www.java.comにリダイレクトし、ユーザーが最新の JRE ソフトウェアをダウンロードできるようにします。一部のプラットフォームでは、ユーザーがアプレットを含む Web ページを表示する前にリダイレクトされる場合があります。

このリダイレクトを回避する方法はありますか? このページは JVM がなくても問題なく機能します。アプレットはほんの少しの改良です。とにかく、ユーザーはこのリダイレクトで非常に混乱する可能性があり、JVM をインストールする権限さえありません。

4

3 に答える 3

3

deployJava.js スクリプトを見ると、runApplet 関数は次のように表示されます。

     /**
     * Ensures that an appropriate JRE is installed and then runs an applet.
     * minimumVersion is of the form #[.#[.#[_#]]], and is the minimum
     * JRE version necessary to run this applet.  minimumVersion is optional,
     * defaulting to the value "1.1" (which matches any JRE).
     * If an equal or greater JRE is detected, runApplet() will call
     * writeAppletTag(attributes, parameters) to output the applet tag,
     * otherwise it will call installJRE(minimumVersion + '+').

したがって、このように電話をかけると

deployJava.runApplet(attributes, parameters, null);

またはこのように

deployJava.runApplet(attributes, parameters, 'undefined');

またはこのように

deployJava.runApplet(attributes, parameters, '1.1');

Javaがインストールされているかどうかのみを確認、インストールのためにjava.comにリダイレクトします。そして、アプレットがあるので、Java が必要です :)

または、 deployJava.writeAppletTag(attributes, parameters)を直接呼び出すこともできます:

    /**
     * Outputs an applet tag with the specified attributes and parameters, where
     * both attributes and parameters are associative arrays.  Each key/value
     * pair in attributes becomes an attribute of the applet tag itself, while
     * key/value pairs in parameters become <PARAM> tags.  No version checking
     * or other special behaviors are performed; the tag is simply written to
     * the page using document.writeln().
     *
     * As document.writeln() is generally only safe to use while the page is
     * being rendered, you should never call this function after the page
     * has been completed.
     */
于 2013-02-21T15:28:38.473 に答える
1

Deployment Toolkit を使用することの要点は、ユーザーが JVM を持っていない場合、アプレットを実行できるように JVM をインストールするように求めることです。プロンプトが表示されないようにする場合は、Deployment Toolkit を使用しないでください。

適切な JVM がすでにインストールされている場合は、アプレットが実行されます。そうでない場合は、ページの残りの部分が正常に読み込まれます。

于 2013-02-14T14:30:54.433 に答える
0

deployJava.jsgetJREsの関数を使用できます。

于 2014-01-23T20:10:51.800 に答える