我有使用Java Applets的应用程序构建,适用于带有IE 9的Windows 7。现在我正在尝试将其移动到另一个环境。 有Internet Explorer 11 。
但是我的浏览器安装了Java插件(这里是JRE 1.7.80):
还有两个SSV助手 - 也许他们会导致这个问题?
Java 8(u144)导致同样的问题。
题:
如何在IE 11中检测Java插件并运行applet?
deployJava.js或IE 11配置有问题吗?
更多解释:
Oracle deployJava.js脚本使用此类代码来检测IE中的JRE版本( deployJava源代码 - 行1172-1188 ):
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 11似乎在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运行的Applet