使用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版本显示小程序的副本。