![](/img/trans.png)
[英]How to get 32 bit JRE path on 64 bit Linux with 64 bit browser and 64 bit java plugin
[英]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無法加載。 以下是我看到的討論內容相同:
此外,我可以看到兩個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.