IE 11无法找到运行Applet的Java插件 [英] IE 11 can't find Java Plugin to run Applet

查看:332
本文介绍了IE 11无法找到运行Applet的Java插件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Java Applets进行应用程序构建,适用于使用IE 9的Windows 7。现在我正在尝试将其移至另一个环境。有 Internet Explorer 11



要运行applet,我正在使用



还有两个 SSV助手 - 可能会导致问题?





Java 8(u144)会导致同样的问题。



问题:



如何在IE 11中检测Java插件并运行applet?



deployJava.js 或IE 11配置是否有问题?



更多解释:



Oracle deployJava.js 脚本u在IE中检测此类代码以检测JRE版本( deployJava source - lines 1172-1188 ):

  testUsingActiveX:function(version){
var objectName ='JavaWebStart.isInstalled。'+ version +'。0 ;

//我们需要这里的类型检查才能在FF / Chrome上运行
//需要在这里检查 - 甚至不能传递ActiveXObject
// arg到另一个函数
if(typeof ActiveXObject =='undefined'||!ActiveXObject){
log('[testUsingActiveX()]浏览器声称是IE,但没有ActiveXObject对象?');
返回false;
}

try {
return(new ActiveXObject(objectName)!= null);
} catch(例外){
返回false;
}
},

不幸的是,ActiveX似乎有限,受限制或在IE 11中禁用。关于 SO的主题在这里 ......任何人都知道任何细节?



我手动运行(在IE 11.1480开发者控制台中)此代码:

  new ActiveXObject('JavaWebStart.isInstalled.1.8.0.0'); 

返回:


自动化服务器无法创建对象


但是在较旧的IE 11.09600中运行相同的代码会返回对象:


[object] {}


我'混淆了... Oracle能否更好地完成脚本?



规格:



Internet Explorer 11,版本:11.1480 ...更新版本:11.0.44



系统:Windows Server



Java:使用 1.8.144 进行测试,然后 1.7.80



Oracle运行的小程序 deployJava.js

解决方案

我找到了一个解决方案:



小程序需要在客户机上安装 32位JRE (和IE插件一样) 。或者更具体的IE ActiveX机制仅适用于32位Java,因为默认情况下所有IE都是32位。还有64位IE版本,但我不尝试。



我使用了最新的 JRE 1.8u144 32位



任何人都可以使applet工作的一些提示(即使在2017年):


  1. 检查Internet Explorer版本(32位或64位) - 如果没有64位信息,请查看帮助 - > 关于Internet Explorer ,那么你可能使用32位。还要检查Windows任务管理器并搜索* 32进程。有关此类其他问题的更多信息

  2. 禁用ActiveX过滤也可能有帮助。但在我的情况下,这不是必要的,因为IE显示的消息警告运行Java插件,我只需要接受这个。

  3. 我已禁用选项:启用保护模式 Internet选项窗口中的安全选项卡<( Internet区域)。

可以从此讨论中获取更多信息:



https:// answers.microsoft.com/en-us/ie/forum/ie11-iewindows_10/cannot-access-secure-website-that-requires-java/173f732b-7377-41f6-8c6f-2ae171f4da7a?auth=1


I have application build with Java Applets, which works fine for Windows 7 with IE 9. Now I'm trying move it to another environment. There is Internet Explorer 11.

To run applet I'm using Oracle Deployment Toolkit Script with latest version taken from https://www.java.com/js/deployJava.txt. But the script doesn't detect Java Plugin. It only redirects to page java.com (suggesting to download latest JRE).

But my browser has Java Plugin installed (here JRE 1.7.80):

There are also two SSV Helpers - maybe they cause the problem?

Java 8 (u144) cause the same problem.

Question:

How to detect Java Plugin in IE 11 and run applet?

Is it problem with deployJava.js or IE 11 configuration?

More explanations:

Oracle deployJava.js script uses such code to detect JRE version in IE (deployJava source - lines 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;
    }
},

Unfortunately, ActiveX seems to be limited, restricted or disabled in IE 11. This topic on SO is here... anyone knows any details?

I run manually (in IE 11.1480 developer console) this code:

new ActiveXObject('JavaWebStart.isInstalled.1.8.0.0');

which returns:

Automation server can't create object

But running the same code in a bit older IE 11.09600 returns object:

[object] { }

I'm confused... Can Oracle do the script better?

Specification:

Internet Explorer 11, Version: 11.1480... Update Versions: 11.0.44

System: Windows Server

Java: tested with 1.8.144 and after 1.7.80

Applets run by Oracle deployJava.js

解决方案

I've found a solution:

Applets requires 32-bit JRE installed on client machine (and as IE Plugin). Or to be more specific IE ActiveX mechanism works only with 32-bit Java because all IE are 32-bit by default. There are also 64-bit IE version, but I don't try it.

I used the newest JRE 1.8u144 32 bit.

Some hints for anyone to make applets work (even in 2017):

  1. Check Internet Explorer version (32- or 64-bit) - look at Help -> About Internet Explorer, if there is no 64-bit info, then you probably use 32-bit. Check also Windows Task Manager and search for *32 processes. More info in other SO questions like this.
  2. Disable ActiveX Filtering may also help. But in my situation, this wasn't necessary because IE displays message which warn about running Java plugin and I just need to accept this.
  3. I have disabled option: Enable Protected Mode on Security tab in Internet Options window (for Internet zone).

More information can be retrieved from this discussion:

https://answers.microsoft.com/en-us/ie/forum/ie11-iewindows_10/cannot-access-secure-website-that-requires-java/173f732b-7377-41f6-8c6f-2ae171f4da7a?auth=1

这篇关于IE 11无法找到运行Applet的Java插件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆