web-dev-qa-db-ja.com

IE 11が見つかりませんJavaアプレットを実行するプラグイン

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):

enter image description here

2つのSSVヘルパーもあります-多分それらは問題を引き起こしますか?

enter image description here

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

5
jsosnowski

私は解決策を見つけました:

アプレットでは、32ビットJREがクライアントマシンに(およびIEプラグイン)として)インストールされている必要があります。 IE ActiveXメカニズムは32ビットでのみ機能しますJavaすべてのIEはデフォルトで32ビットであるため、64もあります-ビットIEバージョンですが、試していません。

最新のJRE 1.8u144 32 bitを使用しました。

アプレットを機能させるためのヒント(2017年でも):

  1. Internet Explorerのバージョン(32ビットまたは64ビット)を確認しますヘルプ-> InternetExplorerについてを参照してください。64ビット情報がない場合は、おそらく32ビットを使用します。 -ビット。 Windowsタスクマネージャーも確認し、* 32プロセスを検索してください。詳細については その他SOこのような質問
  2. ActiveXフィルタリングを無効にすることも役立つ場合があります。しかし、私の状況では、IEはJavaプラグインの実行について警告するメッセージを表示し、これを受け入れる必要があるため、これは必要ありませんでした。
  3. オプションを無効にしました:保護モードを有効にするオンセキュリティタブインターネットオプションウィンドウ(インターネットゾーンの場合)。

このディスカッションから詳細情報を取得できます。

https://answers.Microsoft.com/en-us/ie/forum/ie11-iewindows_10/cannot-access-secure-website-that-requires-Java/173f732b-7377-41f6-8c6f-2ae171f4da7a? auth = 1

5
jsosnowski

上記の答えは役に立ちました。ただし、jre1.8.0_144を更新しました。 Javaプラグイン11.144.2をInternetExplorer 11のアドオンとして自動的に統合した32ビットJDKをシステムに再インストールしました。また、プラグインのアーキテクチャを32ビットと64ビット。

必要なアドオンを自動的に構成する32ビットのjreをダウンロードするのは良いことです。この修正により、アプレットを実行するためにIEが作成されました。

1
velraj