java - 如何在不使用 java applet 检查和不使用 javascript 的情况下检测是否安装了 java 并知道其版本?

标签 java javascript applet

这可能吗?

在进入一个站点之前,它应该检查是否安装了java,并且在重定向到指定页面之前必须是特定版本。

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

谢谢。

最佳答案

我认为假设某人会禁用 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. Java 的 hasjs.html 测试:
    1. Detect if Java is enabled
    2. 使用类似于 javascript:alert(java.lang.System.getProperty('java.version')) 的方式检查 Java 版本。它在地址中工作 FF 栏弹出一个对话框,在此框上报告 1.6.0_24
    3. (最后)确定小程序本身是 Activity 的(而不是在运行时崩溃/拒绝), 见Detect if an Applet is ready .

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

关于java - 如何在不使用 java applet 检查和不使用 javascript 的情况下检测是否安装了 java 并知道其版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5812977/

相关文章:

javascript - 基本的多文件上传不适用于移动设备

java - 为什么我的 java 代码不能在 html 网站上运行

Java Applet,游戏循环第一次运行良好,然后重置时,更新速度减半

java - 如何将类作为函数参数传递

java - 始终返回登录屏幕

java - 连接到 Google 电子表格

javascript - Socket.io - 在 node.js 的单独文件中监听事件

java - 无法即时将 JPanel 添加到 JFrame

javascript - Mongoose - 聚合数据

Javafx 2.0 Applet安全提示时,如何自定义空Applet区域的背景?