使用しているタグ:
<param name="jnlp_href" value="qz-print_jnlp.jnlp">
これと同等です: (「./」に注意してください):
<param name="jnlp_href" value="./qz-print_jnlp.jnlp">
Java はイメージ タグと同じように、絶対パスまたは相対パスを使用します。<img src="./foo.png />
したがって、アプレットを "dist" という名前のフォルダー (つまりhttp://mysite/dist/qz-print.jar
) に配置したが、ページが "web" という別のフォルダー (つまりhttp://mysite/web/mypage.html
) に配置されている場合は、関連するアプレット タグを次のように変更する必要があります。
<param name="jnlp_href" value="../dist/qz-print_jnlp.jnlp">
または、タグを jnlp への絶対パスに変更するのが最適です。
<param name="jnlp_href" value="/dist/qz-print_jnlp.jnlp">
さらに、qz がこれらのタグを読み込むためのより良い方法を見つけたので、それらを sample.html に入れました。ここから最新バージョンを使用することをお勧めします。
これを書いている時点で、タグを使用する最良の方法は次のとおりです。
<applet id="qz" archive="./qz-print.jar" name="QZ Print Plugin" code="qz.PrintApplet.class" width="55" height="55">
<param name="jnlp_href" value="qz-print_jnlp.jnlp">
<param name="cache_option" value="plugin">
<param name="disable_logging" value="false">
<param name="initial_focus" value="false">
<param name="separate_jvm" value="true">
</applet><br />
jnlp タグだけでなく、アーカイブ タグも更新する必要があることに注意してください。
使用しているサンプルから上記で提供したサンプルへの 3 つの変更点は次のとおりです。
- jQuery focus() イベントの初期フォーカス盗用防止
archive=
特定のバージョンの Safari との互換性のためのタグ。
- この
separate_jvm
タグは、ページの読み込み時に Java フレームワークの新しいインスタンスを読み込むために使用されます。これにより、Java 8 の散発的な読み込みの問題が解決されるようです。
最後に、クライアントがまだ Java 6 を実行している場合は、deployQZ();
代わりに from sample.html を使用することをお勧めします。これは、Oracle のdeployJava.js
スクリプトを使用して Java クライアントのバージョンを検出します。
-トレス