【问题标题】:How can I detect if java is installed or not and knowing its version, without using java applet to check and without using javascript?如何检测是否安装了 java 并知道它的版本,而不使用 java applet 检查和不使用 javascript?
【发布时间】:2011-04-28 02:38:53
【问题描述】:

这可能吗?

在进入网站之前,应该检查是否安装了java,并且它必须是特定的版本,然后才能重定向到指定的页面。

无法使用javascript,因为它可以被用户关闭。
java小程序不能用于检查,因为它可以被用户禁用

谢谢。

【问题讨论】:

    标签: java javascript applet


    【解决方案1】:

    我认为认为有人会禁用 JS 但安装并启用 Java 是幼稚的。

    • 浏览器自带JS,Java没有。
    • JS 默认启用,必须明确禁用。
    • 当今的许多网站要么依赖 JS,要么在启用 JS 时提供更流畅的用户体验。
    • deployJava.js 是 Sun/Oracle 提供的最新策略,用于检查浏览器是否具有 在运行小程序或包含 JWS 的启动链接之前指定 Java 的最低版本 应用程序。如果过去 2-3 年 90% 的小程序部署者使用该脚本,您认为 在禁用 JS 的浏览器中是否有机会看到安装和启用 Java?

    Sun 以前确保小程序具有插件的必要版本的方法是使用 HTMLConverter,它产生了被验证服务讨厌的嵌套OBJECT/EMBED元素 (以及任何自尊的网络开发人员)。这个无效的 HTML 没有使用 JS 或 Java 来完成它所做的事情, 这一切都依赖于 HTML 和浏览器/用户对上述元素采取行动的能力和意愿。

    但是我不建议使用这种方法,我认为 deployJava.js 是实现它的更好方法。

    如果你真的坚持千方百计确定用户的Java,并且不介意 '打破后退按钮',还有其他可以使用的技术。例如。有一系列页面。

    1. 第一页有一个元刷新重定向到nojs.html设置在NN秒,并使用JS重定向到 立即hasjs.html。
    2. hasjs.html 测试 Java:
      1. Detect if Java is enabled
      2. 使用类似于javascript:alert(java.lang.System.getProperty('java.version')) 的方式检查Java 版本。它适用于地址 FF 栏会弹出一个对话框,在此框中报告1.6.0_24。
      3. (最后)确定小程序本身是活动的(而不是在运行时崩溃/拒绝), 见Detect if an Applet is ready。

    因此可以看出,JS 不仅可以检查 Java 是否启用,还可以检查版本和任何特定小程序是否已成功加载。

    【讨论】:

      【解决方案2】:

      您可以提示用户输入他们安装的 Java 版本。否则,不行。

      【讨论】:

        【解决方案3】:

        好吧,不使用 Java Applet 也不使用 JavaScript。你还能用什么?您正在尝试访问特定于客户端的数据,您无法在服务器端获取此类数据。

        【讨论】:

          【解决方案4】:

          在 .NET 中重写您的应用程序,然后您就可以享受这样的 User-Agent 行了:

          Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 
              .NET CLR 1.1.4322; .NET CLR 2.0.50727)2011-04-27 23:02:21
          

          我希望浏览器为已安装的 Java 发送相同的内容...唉,他们没有。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-01-09
            • 2011-12-06
            • 2010-10-01
            • 1970-01-01
            • 1970-01-01
            • 2016-12-18
            • 1970-01-01
            • 2011-05-30
            相关资源
            最近更新 更多