il plugin a 64 bit di JRE / JDK / Java 9 non è compatibile con IE 11 a 64 bit


Sto cercando di eseguire applet con JRE 9 su Internet Explorer 11 (64 bit), ma non viene eseguito. Ho provato su Windows 10 e server 2012. Nella mia applicazione, rileviamo la versione jre installata usando deployJava.js. Se non viene trovata alcuna versione, viene visualizzato un prompt di download. Questo rilevamento viene effettuato tramite la funzione javascript getJREs che può essere trovata qui. Vedi snippet di seguito:

getJREs: function() {
    var list = new Array();
    if (this.isPluginInstalled()) {
        var plugin =  this.getPlugin();
        var VMs = plugin.jvms;
        for (var i = 0; i < VMs.getLength(); i++) {
            list[i] = VMs.get(i).version;
        }
    } else {
        var browser = this.getBrowser();

        if (browser == 'MSIE') {
            if (this.testUsingActiveX('9')) {
                list[0] = '9';
            } else if (this.testUsingActiveX('1.8.0')) {
                list[0] = '1.8.0';
            } else if (this.testUsingActiveX('1.7.0')) {
                list[0] = '1.7.0';
            } else if (this.testUsingActiveX('1.6.0')) {
                list[0] = '1.6.0';
            } else if (this.testUsingActiveX('1.5.0')) {
                list[0] = '1.5.0';
            } else if (this.testUsingActiveX('1.4.2')) {
                list[0] = '1.4.2';
            } else if (this.testForMSVM()) {
                list[0] = '1.1';
            }
        } else if (browser == 'Netscape Family') {
            this.getJPIVersionUsingMimeType();
            if (this.firefoxJavaVersion != null) {
                list[0] = this.firefoxJavaVersion;
            } else if (this.testUsingMimeTypes('9')) {
                list[0] = '9';
            } else if (this.testUsingMimeTypes('1.8')) {
                list[0] = '1.8.0';
            } else if (this.testUsingMimeTypes('1.7')) {
                list[0] = '1.7.0';
            } else if (this.testUsingMimeTypes('1.6')) {
                list[0] = '1.6.0';
            } else if (this.testUsingMimeTypes('1.5')) {
                list[0] = '1.5.0';
            } else if (this.testUsingMimeTypes('1.4.2')) {
                list[0] = '1.4.2';
            } else if (this.browserName2 == 'Safari') {
                if (this.testUsingPluginsArray('9')) {
                    list[0] = '9';
                } else if (this.testUsingPluginsArray('1.8')) {
                    list[0] = '1.8.0';
                } else if (this.testUsingPluginsArray('1.7')) {
                    list[0] = '1.7.0';
                } else if (this.testUsingPluginsArray('1.6')) {
                    list[0] = '1.6.0';
                } else if (this.testUsingPluginsArray('1.5')) {
                    list[0] = '1.5.0';
                } else if (this.testUsingPluginsArray('1.4.2')) {
                    list[0] = '1.4.2';
                }
            }
        }
    }

    if (this.debug) {
        for (var i = 0; i < list.length; ++i) {
            log('[getJREs()] We claim to have detected Java SE ' + list[i]);
        }
    }

    return list;
}

Nel caso di JRE 9 questa funzione non è in grado di rilevare la versione java e l'applet non è riuscita a carico. Ecco le discussioniho visto che parla nelle stesse righe:

  1. JDK-8188306
  2. JDK-8193431
  3. JDK-8162522
  4. Questa risposta Microsoft
  5. Questo SO OP lo risolve usando JRE a 32 bit. Nel mio caso non è possibile in quanto Oracle non ha rilasciato la versione a 32 bit di JRE/JDK 9.

Inoltre ho potuto vedere che entrambi gli helper del plugin Java SSV sono elencati come incompatibili nell'elenco di IE addon.

Ho provato a caricare l'applet con JRE 1.8 (sia a 32 bit che a 64 bit), si carica perfettamente bene.

Capisco che le applet sono state deprecate in java 9, ma la deprecazione non significa che non funzioneranno, vero?

PS: Ti sarei grato se non mi chiedessi di non usare l'applet perché devo farlo per scopi legacy. Quindi, grazie in anticipo!

Author: Shanu Gupta, 2018-02-05

2 answers

La fine di JRE a 32 bit di Oracle rende impossibile eseguire applet in IE11 senza effettuare impostazioni non predefinite per i client che installano Oracle JRE. Le applet possono ancora essere eseguite, ma solo se l'utente finale o l'amministratore effettua le impostazioni necessarie per far funzionare IE con JRE a 64 bit. L'installazione di JRE non rende queste impostazioni, interrompono solo i plugin a 32 bit e ripristinano IE11 su un modello di un processo. Quindi questo funzionerà solo in un ambiente controllato.

Vedi questa domanda per impostazioni: Eseguire Java a 64 bit con Internet explorer 11

Teoricamente java web start dovrebbe funzionare anche senza forzare le impostazioni a 64 bit per IE e quindi è possibile eseguire un'applet che non richiede collegamenti javascript nell'appletviewer di webstart. Quindi, in circostanze molto specifiche, potrebbe essere un'opzione per eseguire un'applet, a partire da IE11 predefinito con JRE10.

Vedere: https://docs.oracle.com/javase/7/docs/technotes/guides/jweb/applet_migration.html

A piccola escursione per i curiosi, c'è in realtà una build di Windows a 32 bit di openjdk 10 qui: https://github.com/ojdkbuild/ojdkbuild. Include il launcher Ice Tea Web (ITW), ma questo utilizza npapi, quindi non funziona più oggi per le applet nel browser.

 1
Author: user188737, 2018-05-17 15:43:04

Fare riferimento al link sottostante.

Certificazioni con EBS 11i ancora in sospeso

Abbiamo in programma di certificare IE 11 con EBS 11i. Questa certificazione noi in corso ora e sarà rilasciato a breve.

Se si esegue EBS 11i, è necessario assicurarsi che i desktop mission-critical rimangano su un browser certificato precedente fino al completamento di questa certificazione. Al momento della pubblicazione di questo articolo, i browser certificati includono IE 10 e Firefox ESR 31 per Windows desktop.

È possibile bloccare gli aggiornamenti automatici utilizzando Microsoft Internet Explorer 11 Blocker Toolkit:

Https://blogs.oracle.com/stevenchan/internet-explorer-11-certified-with-e-business-suite-122-and-120

 0
Author: Amey Puranik, 2018-05-11 14:37:11