使用JavaScript检测Java版本

有没有可靠的方法来检测使用JavaScript在客户端计算机上安装的Java版本?

查看Java Deployment Toolkit中的代码。

根据我们用谷歌找到这个页面的事实,只是为了帮助下一个人找到这个。

是Java安装?

navigator.javaEnabled() 

http://www.w3schools.com/jsref/met_nav_javaenabled.asp

安装了哪个版本的Java?

   

http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html#deplToolkit

这是我发现使用JavaScript找到Java版本的最好方法,但是要小心使用它,因为它的版本检测确实取决于操作系统/浏览器,并且在旧的浏览器版本或安装了旧Java的最新浏览器上,它将无法工作预期。 花时间做真正的测试,然后在生产中使用它。

谷歌搜索

detect "java version" using javascript

产生了几个结果, 这看起来可能有用。 本质上,它尝试加载Java小程序,然后JavaScript询问小程序。

您可以从这里使用PluginDetect库: http : //www.pinlady.net/PluginDetect/

Java版本:

 /** * @return NULL if not version found. Else return some things like: '1.6.0_31' */ var JavaVersion: function() { var result = null; // Walk through the full list of mime types. for( var i=0,size=navigator.mimeTypes.length; i 

是Java并且是Java启用:

 var IsJava: function() { return typeof(navigator.javaEnabled) !== 'undefined' && navigator.javaEnabled(); } 

这些function适用于Opera,Firefox,Chrome。 我不是IE。

检测逻辑在Windows7-64上的IE32中不起作用。 它无法检测到之前安装的java版本。

好吧,在进一步阅读之后,Windows上的Java Deployment Toolkit使用ActiveX classid,这可能会使您的应用程序成为黑客(请参阅http://www.kb.cert.org/vuls/id/886582 )。 我出去了。

如果您使用Google Analytics, 这篇文章可能会有所帮助(有关详情,请参阅论坛post )。

我发现Java Deployment Toolkit提供的JavaScript解决方案会出错…“deployJava.do_initialize不是函数”。

我在所有浏览器中广泛使用多年的一个解决方案是Java版本显示小程序 。 不幸的是,原作者的网站似乎已经消失,但您可以在此处下载Java版本显示小程序的副本。