Обнаружить версию Java с помощью JavaScript

Существует ли надежный способ определения того, какая версия Java установлена ​​на клиентской машине с помощью JavaScript?

Ответы

Ответ 2

В соответствии с тем, что мы находим эту страницу с Google, просто чтобы помочь следующим парням найти это.

Установлена ​​ли Java?

navigator.javaEnabled()

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

Какая версия Java установлена?

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
var versions = deployJava.getJREs();
</script>

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

Это лучший способ найти версию Java с JavaScript, но использовать ее тщательно, потому что ее обнаружение версии действительно зависит от ОС/браузера, а в старой версии браузера или в последнем браузере с установленной старой Java это будет не работает должным образом. Потратьте время на настоящие тесты, прежде чем использовать его в производстве.

Ответ 3

Googling для

detect "java version" using javascript

дает несколько результатов, этот выглядит так, как будто это может быть полезно. По сути, он пытается загрузить Java-апплет, а затем JavaScript запрашивает апплет.

Ответ 5

Версия 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<size; i++ )
  {
      // The jpi-version is the plug-in version.  This is the best
      // version to use.
      if( (result = navigator.mimeTypes[i].type.match(/^application\/x-java-applet;jpi-version=(.*)$/)) !== null )
          return result[1];
  }
  return null;
}

Является ли Java и включена Java:

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

Эти функции работают в Opera, Firefox, Chrome. Я не IE.

Ответ 6

Логика обнаружения не работает в IE32 на Windows7-64. Он не смог обнаружить ранее установленную версию java.

Ну, после дальнейшего чтения, Java Deployment Toolkit в Windows использует ActiveX classid, который может помещать ваше приложение в хакеров (см. http://www.kb.cert.org/vuls/id/886582), Я вышел.

Ответ 7

Если вы используете Google Analytics, этот пост может быть полезен (см. для более подробной информации).

Ответ 8

Я нахожу, что решение JavaScript, предоставленное Java Deployment Toolkit, дает ошибку... "deployJava.do_initialize не является функцией".

Одним из решений, которое я использовал много лет, которое работает во всех браузерах, является Apple Display Display Applet. К сожалению, исходный авторский сайт, похоже, исчез, но здесь вы можете скачать копию Java Display Display Applet.