ChromeでJavaアプレットを実行すると次の問題が発生します。
これは私のページにあるスクリプトです:
<script type="text/javascript" src="http://www.java.com/js/deployJava.js"></script>
<script type="text/javascript">
var attributes = { code: 'com.mycompany.MyApplet',
id: 'myApplet', name: 'myApplet', width: 710, height: 540 };
var parameters = { jnlp_href: "MyApplet.jnlp" } ;
var version = '1.6';
deployJava.runApplet(attributes, parameters, version);
</script>
<noscript>This page requires JavaScript.</noscript>
そしてこれは私の.jnlpです:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp href="MyApplet.jnlp">
<information>
<title>My Applet</title>
<vendor>My Company</vendor>
<offline-allowed />
</information>
<resources>
<j2se version="1.6+" />
<jar href="MyApplet.jar" />
</resources>
<applet-desc
name="My Applet"
main-class="com.mycompany.MyApplet"
width="710"
height="540">
</applet-desc>
</jnlp>
JRE1.4および1.6update29をマシンにインストールしています。IEとFirefoxではアプレットは正しく実行されますが、ChromeではJRE7をダウンロードするように求められます。
JRE 7をインストールすると、アプレットは正しく実行されます。ただし、このWebアプリケーションは、コンピューターの管理者権限を持たないユーザーによって使用されるため、エンドユーザーに強制することはできません。
これはChromeでのdeployJava.jsのバグによるものであり、記載されている解決策はアルダーJREを削除することです。残念ながら、エンドユーザーが日常的に使用する他の古いJavaデスクトップアプリケーションを実行するにはJRE 4が必要なため、これも不可能です。
JRE 1.6を使用してChromeでこれを機能させるために、投稿されたjavascriptまたはjnlpを微調整できますか?