我使用 Java Applets 构建了应用程序,它在带有 IE 9 的 Windows 7 上运行良好。现在我正在尝试将其移动到另一个环境。有互联网浏览器 11.
运行我正在使用的小程序Oracle 部署工具包脚本 http://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/depltoolkit_index.html最新版本取自https://www.java.com/js/deployJava.txt https://www.java.com/js/deployJava.txt。但剧本未检测到 Java 插件。它仅重定向到页面java.com
(建议下载最新的JRE
).
但我的浏览器安装了 Java 插件(这里是 JRE 1.7.80):
还有两个SSV 助手- 也许他们造成了问题?
Java 8 (u144) 也会导致同样的问题。
问题:
如何在 IE 11 中检测 Java Plugin 并运行小程序?
有问题吗deployJava.js
或者IE 11配置?
更多解释:
Oracle deployJava.js
脚本使用这样的代码来检测 IE 中的 JRE 版本(部署Java 源 - 第 1172-1188 行 https://www.java.com/js/deployJava.txt):
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 中似乎受到限制、限制或禁用。所以在这里 https://stackoverflow.com/questions/26151999/ie11-prevents-activex-from-running...有人知道任何细节吗?
我手动运行(在 IE 11.1480 开发者控制台中)以下代码:
new ActiveXObject('JavaWebStart.isInstalled.1.8.0.0');
返回:
自动化服务器无法创建对象
但在较旧的 IE 11.09600 中运行相同的代码会返回对象:
[目的] { }
我很困惑... Oracle 可以把脚本做得更好吗?
规格:
Internet Explorer 11,版本:11.1480...更新版本:11.0.44
系统:Windows服务器
Java:测试过1.8.144之后1.7.80
由 Oracle 运行的小程序部署Java.js https://www.java.com/js/deployJava.txt