浏览器中已安装Java与已启用Java

Java Installed vs Java Enabled in browser

本文关键字:Java 启用 安装 浏览器      更新时间:2023-09-26

是否有一种方法可以检测您的机器上是否安装了java或者浏览器上是否禁用了java ?我们在应用程序中使用java applet,但在applet加载之前,我们使用"deployJava.js"。遗憾的是,即使在浏览器上禁用了Java,它也会显示未安装Java。

那么有没有办法区分是否安装了Java或禁用了Java,最好使用javascript。我也尝试过使用"navigator.javaEnabled()",但它给了我与使用"deployJava.js"相同的结果。

你不能。

如果你可以的话,那会很烦人的。已经有足够多的信息从浏览器泄露到页面,如果它开始告诉人们我安装了什么,但表面上我已经禁用了,那将是非常烦人的。

我想这可能是可能的和有用的设想一个API,但在目前的状态没有任何:要么插件在这里被使用,要么它不是。是否安装并不重要。

我猜您将不得不通过在面向用户的消息中声明需要安装或启用Java来解决这个问题。或者您可以提供下载一个诊断工具来运行它并在本地检查它,这可能是另一种可行的选择,尽管要执行明显令人讨厌的额外步骤(并且需要支持额外的工具)。

  1. 添加一个重定向到相关HTML页面。重定向到javaNotEnabledOrNotInstalled.html(但要想一个不那么描述性和愚蠢的名字)。
  2. 在applet init()中,调用JS取消重定向。

还要注意,在传统的applet元素中..

<applet 
  code=.. 
  width=.. 
  height=.. 
  alt='Java is installed but disabled!'>
No Java Plug-In installed in this browser.  Get Java free from..
</applet>

在这种情况下,如果Java根本没有安装,用户应该看到..

此浏览器未安装Java插件。

但是如果安装了Java但是禁用了,他们应该看到.

Java已安装但已禁用!

js窗口。导航器。plugin