簡體   English   中英

JRE / JDK / Java 9的64位插件與IE 11 64位不兼容

[英]64 bit plugin of JRE/JDK/Java 9 is incompatible with IE 11 64 bit

我正在嘗試在Internet Explorer 11(64位)上使用JRE 9運行applet,但它沒有運行。 我試過Windows 10和Server 2012.在我的應用程序中,我們使用deployJava.js檢測已安裝的jre版本。 如果未找到任何版本,則會顯示下載提示。 這個檢測是通過javascript函數getJREs完成的,可以在這里找到。 請參閱下面的代碼段:

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;
}

在JRE 9的情況下,此函數無法檢測到java版本,並且applet無法加載。 以下是我看到的討論內容相同:

  1. JDK-8188306
  2. JDK-8193431
  3. JDK-8162522
  4. 這個微軟的回答
  5. 這個SO OP使用32位JRE解決它 在我的情況下,它不可能,因為Oracle沒有發布32位版本的JRE / JDK 9。

此外,我可以看到兩個Java SSV插件助手在IE插件列表中列為不兼容。

我試圖用JRE 1.8(32位和64位)加載applet,它加載完全正常。

我知道applet在java 9中已被棄用,但棄用並不意味着它們不會運行,是嗎?

PS:如果你不要求我不使用applet,我將不勝感激,因為我必須為了傳統目的而這樣做。 所以,提前謝謝!

Oracle的32位JRE結束使得無法在IE11中運行applet而不為安裝Oracle JRE的客戶端進行非默認設置。 Applet仍然可以運行,但前提是最終用戶或管理員進行必要的設置以使IE與64位JRE一起工作。 JRE的安裝不會進行這些設置,它們只會破壞32位插件並將IE11還原為一個進程模型。 所以這只能在受控環境中工作。

有關設置,請參閱此問題: 使用Internet Explorer 11運行64位Java

理論上,即使不強制使用IE的64位設置,java web start也應該可以工作,然后你可以在webstart appletviewer中運行一個不需要javascript綁定的applet。 因此,在非常具體的情況下,可能是運行applet的選項,從默認IE11開始使用JRE10。

請參閱: https//docs.oracle.com/javase/7/docs/technotes/guides/jweb/applet_migration.html

好奇的一點點游覽,實際上有一個32位Windows版本的openjdk 10: https//github.com/ojdkbuild/ojdkbuild 它確實包括Ice Tea Web(ITW)啟動器,但它使用npapi,所以今天不再適用於瀏覽器內小程序。

請參閱以下鏈接。

EBS 11i的認證仍未解決

我們計划用EBS 11i認證IE 11。 我們正在進行此認證,並將很快發布。

如果您正在運行EBS 11i,則必須確保您的任務關鍵型桌面保留在早期認證的瀏覽器上,直到此認證完成為止。 截至本文發布時,經過認證的瀏覽器包括用於Windows桌面的IE 10和Firefox ESR 31。

您可以使用Microsoft的Internet Explorer 11 Blocker Toolkit阻止自動更新:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM