简体   繁体   English

在 Internet Explorer 11 中运行 Java

[英]Running Java in Internet Explorer 11

I have JRE 8u211 installed on a Windows 10 box with IE 11. I can see the Java plugin (and plugin 2) are installed and enabled.我在装有 IE 11 的 Windows 10 机器上安装了 JRE 8u211。我可以看到 Java 插件(和插件 2)已安装并启用。 I have the "Allow active content to run in files on my computer" option checked under Security.我在安全下选中了“允许活动内容在我的计算机上的文件中运行”选项。 But I cannot get a Java applet to load.但是我无法加载 Java 小程序。 Every time the page loads, I get the "The page you are viewing uses Java" notification as if the browser thinks I don't have Java installed.每次加载页面时,我都会收到“您正在查看的页面使用 Java”通知,就好像浏览器认为我没有安装 Java。

What am I missing?我错过了什么?

Figured it out.弄清楚了。 I'd forgotten that IE traditionally doesn't seem to like x64 Java installs very much.我忘记了 IE 传统上似乎不太喜欢 x64 Java 安装。 Once I dropped a 32 bit version, everything worked.一旦我放弃了 32 位版本,一切正常。

In the perfect dream world where all software development makes use of current and best practices, applets might be dead.在所有软件开发都使用当前和最佳实践的完美梦想世界中,applet 可能已经死了。 But in the actual world of legacy support, they are (unfortunately) still alive.但在遗留支持的实际世界中,它们(不幸的是)还活着。

I second the comment by Elliot Fischer... However, there is still quite a lot of Hardware that is still being supported, or even potentially manufactured (sold for sure) that can only function with these Java applets.我支持 Elliot Fischer 的评论……但是,仍然有相当多的硬件仍然受到支持,甚至可能制造(肯定出售)只能与这些 Java 小程序一起使用。

I had this problem with my Motorola FX7400.我的摩托罗拉 FX7400 遇到了这个问题。 Of course Motorola says it's "Service & Support Discontinuation Date" is 30.8.2019.当然,摩托罗拉说它的“服务和支持终止日期”是 30.8.2019。 Of course the latest firmware is from 2015 and doesn't have a hint of any type of certificate or signing of java applets!当然,最新的固件是 2015 年的,没有任何类型的证书或 Java 小程序签名的提示!

For most applets that have not been updated since the very latest Java Security settings were upgraded in around 2013-2015 and which most likely are also only 32-bit and have no signing of any sort on them;对于自 2013-2015 年左右升级最新的 Java 安全设置以来尚未更新的大多数小程序,它们很可能也只有 32 位并且没有任何形式的签名; Do the following steps.执行以下步骤。 Of course, even I CANNOT RECOMMEND THIS METHOD AT ALL FOR APPLICATIONS RUN FROM THE INTERNET Also, you should take precautions when trying to use Java like this on Hardware you are not familiar with.当然,即使我完全不能推荐这种方法用于从 Internet 运行的应用程序此外,在您不熟悉的硬件上尝试使用这样的 Java 时,您应该采取预防措施。

The steps that are required for Windows 7, 8.1 & 10 with Internet Explorer 11 are as follows:使用 Internet Explorer 11 的 Windows 7、8.1 和 10 所需的步骤如下:

  • Download and install latest JRE SE 32bit from here: https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html (And yes, you need to give out your private data including address and phone number. You also need to pay for a license, if you are not a developer or a private user)从这里下载并安装最新的JRE SE 32 位https : //www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html (是的,您需要提供您的私人数据,包括地址和电话号码。如果您不是开发人员或私人用户,您还需要支付许可证费用)
  • Start Internet Explorer 11 (64 bit seems to work fine)启动 Internet Explorer 11(64 位似乎工作正常)
  • Ensure ActiveX filtering is disabled Tools -> ActiveX filtering On my install disabling this was only necessary to be able to run the Java test from the "alternate page" , which is marked " IE 11 users: ": https://www.java.com/en/download/installed.jsp确保禁用 ActiveX 过滤Tools -> ActiveX filtering在我的安装中禁用这只是为了能够从标记为“ IE 11 用户: ”的"alternate page"运行 Java 测试: https : //www.java .com/en/download/installed.jsp
  • Check that the Java plugin is enabled Tools -> Manage Add-ons检查 Java 插件是否已启用Tools -> Manage Add-ons
  • Check that your security zone has Scripting of Java applets enabled.检查您的安全区域是否启用Scripting of Java applets脚本。 On my IE11 it was enabled by default even for the Internet-zone set to Medium-High with protected mode on Tools -> Internet Options -> Security -> (select your appropriate zone) -> Custom level -> Scripting of Java applets在我的 IE11 上,即使在Tools -> Internet Options -> Security -> (select your appropriate zone) -> Custom level -> Scripting of Java applets中将 Internet 区域设置为中高并使用保护模式,它也是默认启用的
  • If the applet that needs to run is not properly signed (very likely...), it is required to set every single URL where an applet is run in to the exceptions.如果需要运行的小程序没有正确签名(很可能......),则需要将运行小程序的每个 URL 设置为异常。 (As of writing this answer, at least wildcars for paths are working.) (在撰写此答案时,至少路径的通配符正在工作。)
  • When running the applet, accept the security exception prompts that Java prompts for.运行小程序时,接受Java 提示的安全异常提示。
  • And finally!最后! For some reason there will at some point when loading an applet that previously loaded fine be a prompt about not being able to run the applet, because only applications that meet the very high security settings (signed applets) can be run.出于某种原因,在加载之前加载良好的小程序时,有时会提示无法运行该小程序,因为只有满足非常高的安全设置(签名小程序)的应用程序才能运行。 To get back to running again, Java's temporary files need to be removed.要重新运行,需要删除 Java 的临时文件。 Restoring security prompts has no effect.恢复安全提示无效。 Start Menu -> Configure Java -> General tab -> Temporary Internet Files -> Settings... -> Delete Files -> OK C:\\Users\\%username%\\AppData\\LocalLow\\Sun\\Java\\Deployment\\Cache -directory probably also works. Start Menu -> Configure Java -> General tab -> Temporary Internet Files -> Settings... -> Delete Files -> OK C:\\Users\\%username%\\AppData\\LocalLow\\Sun\\Java\\Deployment\\Cache -directory可能也有效。

Security and prompts really have come far in the past 10 years, haven't they?在过去的 10 年中,安全和提示确实取得了很大进展,不是吗?

I jumped here searching for an answer that I found elsewhere and I would like to share.我跳到这里寻找我在别处找到的答案,我想分享。

According to my experience the problems of IEx64 with jre x64 are due to the fact that internet explorer tabs are 32 bit processes, so they work only if they find a 32 bit jre.根据我的经验,IEx64 与 jre x64 的问题是由于 Internet Explorer 选项卡是 32 位进程,因此它们只有在找到 32 位 jre 时才能工作。 There is a registry key to force IEx64 to open x64 tabs:有一个注册表项可以强制 IEx64 打开 x64 选项卡:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main
Dword TabProcGrowth set to 0

I heard it is considered a security flaw, but it can be accepted if IE is used only with well known legacy web applications.我听说它被认为是一个安全漏洞,但如果 IE 仅用于众所周知的遗留 Web 应用程序,则可以接受。

About IEx64关于IEx64

In the folder在文件夹中

\Program Files (x86)\Internet Explorer

there is the 32 bit version and when you open a page in IEx64 it is actually displayed by an new instance of IEx86.有 32 位版本,当您在 IEx64 中打开页面时,它实际上是由 IEx86 的新实例显示的。 You can check this using task manager, going on detail tab and looking at the application path.您可以使用任务管理器进行检查,进入详细信息选项卡并查看应用程序路径。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM