Oracle的deployjava.js不再适用于Firefox/Chrome。我还可以做些什么?

问题描述:

由于Firefox和Chrome阻止了Java插件,因此Oracle的deployjava.js使用了一种技巧来检测JRE - 通过使用navigator.mimeTypes数组并在其中查找Java的MIME类型。但是,Firefox不再公开navigator.mimeTypes。从版本53开始,它是一个空数组。Oracle的deployjava.js不再适用于Firefox/Chrome。我还可以做些什么?

对于Chrome,数组仍可访问,但不再包含Java的MIME类型。

我已经将我的applets迁移到使用JNLP,但我仍然需要确保客户端有合适的JRE,否则最终用户将会看到一个对话框,要求他们选择一个应用程序来启动.jnlp文件,他们不知道该怎么做。

还有什么其他方法可用于从我的网站验证客户端计算机上的JRE?

+1

如果你没有找到其他更好的方法,你可能会从小应用程序通知你的JavaScript,说小程序正在运行。从Javascript中,如果几秒钟后applet没有通信,那么你可以显示一条消息“你可能没有安装JRE ......” – 2017-10-23 14:29:15

+1

其他选项是使用CSS。您可以使用position:absolute将您的嵌入元素分层放置在其他元素的顶部。如果applet加载,那么背景是不透明的,所以它会隐藏底部的内容,如果它从不加载,那么它会在后面显示内容。 – 2017-10-23 14:35:36

+1

@罗曼科尔特斯是的,我想我最终会做你在你的第一评论中描述的。浏览器1,JDK 0.如果你把你的评论作为答案,我会接受它。 –

如果您没有找到其他更好的方法,您可能会从小应用程序与您的javascript进行通信以表示该小应用程序正在运行。从Javascript开始,如果几秒钟后applet没有通信,那么你可以显示一条消息:“你可能没有安装JRE ...”

其他选项是使用CSS。您可以使用position:absolute将您的嵌入元素分层放置在其他元素的顶部。如果applet加载,那么背景是不透明的,所以它会隐藏底部的内容,如果它从不加载,那么它会在后面显示内容。