Определить версию Java с помощью JavaScript - PullRequest
14 голосов
/ 13 января 2009

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

Ответы [ 8 ]

12 голосов
/ 05 августа 2011

Согласно тому факту, что мы находим эту страницу с помощью 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 это будет не работает, как ожидалось. Потратьте время на проведение реальных испытаний, прежде чем использовать его в производстве.

12 голосов
/ 13 января 2009

Проверьте код в Java Deployment Toolkit .

5 голосов
/ 13 января 2009

Google для

detect "java version" using javascript

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

4 голосов
/ 14 июня 2012

Версия 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.

4 голосов
/ 13 января 2009

Вы можете использовать библиотеку PluginDetect отсюда: http://www.pinlady.net/PluginDetect/

1 голос
/ 13 сентября 2011

Логика обнаружения не работает в IE32 на Windows7-64. Не удалось обнаружить версию Java, установленную ранее.

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

0 голосов
/ 12 декабря 2012

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

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

0 голосов
/ 13 января 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...