我如何检测是否安装java和知道它的版本,不使用java applet检查和不使用javascript

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 javascript 版本 检查和 applet 何检测 检测 安装 是否      更新时间:2023-09-26

可以吗?

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

javascript不能使用,因为它可以被用户关闭。
Java applet不能用于检查,因为它可以被用户禁用

谢谢。

我认为这是天真的假设有人会禁用JS,但Java安装&启用。

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

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

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

如果你真的坚持要尽一切努力确定用户的Java,也不介意"打破后退键",还有其他技巧可以使用。有一系列的页面。

  1. 第一页有一个元刷新重定向到nojs.html设置在NN秒,并使用JS重定向到立即hasjs.html
  2. Java的hasjs.html测试:
    1. 检测Java是否已启用
    2. 使用javascript:alert(java.lang.System.getProperty('java.version'))一行检查Java版本。它在地址中有效
    3. 在这个框上弹出一个报告1.6.0_24的对话框。
    4. (最后)确定applet本身是活动的(而不是在运行时崩溃/拒绝),参见检测Applet是否准备好。

所以可以看到,JS不仅可以检查Java是否启用,还可以检查版本&

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

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

在。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…唉,他们没有。