Javaアプレットを使用してアプリケーションをビルドしました。これは、Windows7でIE 9.を使用して正常に動作します。現在、別の環境に移動しようとしています。Internet Explorer 11。
アプレットを実行するには、 Oracle Deployment Toolkit Script を使用しており、最新バージョンは https://www.Java.com/js/deployJava.txt から取得しています。しかし、スクリプトはJavaプラグインを検出しません。ページJava.com
にリダイレクトするだけです(最新のJRE
をダウンロードしてください)。
しかし、私のブラウザにはJavaプラグインがインストールされています(ここではJRE 1.7.80):
2つのSSVヘルパーもあります-多分それらは問題を引き起こしますか?
Java 8(u144)でも同じ問題が発生します。
質問:
Java Plugin in IE 11 and run applet?を検出する方法
deployJava.js
またはIE 11の構成に問題がありますか?
その他の説明:
Oracle deployJava.js
スクリプトは、このようなコードを使用して、IE( deployJava source --lines 1172-1188 )のJREバージョンを検出します。
testUsingActiveX: function(version) {
var objectName = 'JavaWebStart.isInstalled.' + version + '.0';
// we need the typeof check here for this to run on FF/Chrome
// the check needs to be in place here - cannot even pass ActiveXObject
// as arg to another function
if (typeof ActiveXObject == 'undefined' || !ActiveXObject) {
log('[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?');
return false;
}
try {
return (new ActiveXObject(objectName) != null);
} catch (exception) {
return false;
}
},
残念ながら、ActiveXはIE 11.で制限、制限、または無効になっているようです。 SOはここにあります ...に関するこのトピック詳細は誰か知っていますか?
私は手動で(IE 11.1480開発者コンソールで)このコードを実行します:
new ActiveXObject('JavaWebStart.isInstalled.1.8.0.0');
これは次を返します:
オートメーションサーバーはオブジェクトを作成できません
しかし、少し古いIE 11.09600で同じコードを実行すると、オブジェクトが返されます。
[オブジェクト] {}
私は混乱しています... Oracleはスクリプトをより良くすることができますか?
仕様:
Internet Explorer 11、バージョン:11.1480 ...更新バージョン:11.0.44
システム:Windows Server
Java:1.8.144以降1.7.80でテスト済み
Oracleが実行するアプレット deployJava.js
私は解決策を見つけました:
アプレットでは、32ビットJREがクライアントマシンに(およびIEプラグイン)として)インストールされている必要があります。 IE ActiveXメカニズムは32ビットでのみ機能しますJavaすべてのIEはデフォルトで32ビットであるため、64もあります-ビットIEバージョンですが、試していません。
最新のJRE 1.8u144 32 bit
を使用しました。
アプレットを機能させるためのヒント(2017年でも):
このディスカッションから詳細情報を取得できます。
上記の答えは役に立ちました。ただし、jre1.8.0_144を更新しました。 Javaプラグイン11.144.2をInternetExplorer 11のアドオンとして自動的に統合した32ビットJDKをシステムに再インストールしました。また、プラグインのアーキテクチャを32ビットと64ビット。
必要なアドオンを自動的に構成する32ビットのjreをダウンロードするのは良いことです。この修正により、アプレットを実行するためにIEが作成されました。