Есть ли надежный способ определить, какая версия Java установлена на клиентском компьютере, с помощью JavaScript?
Определить версию Java с помощью JavaScript
Ответы (8)
Ознакомьтесь с кодом в Java Deployment Toolkit < / а>.
Согласно тому факту, что мы находим эту страницу с помощью 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 он не будет работать как ожидал. Потратьте время на проведение реальных тестов, прежде чем использовать его в производственной среде.
Поиск в Google для
detect "java version" using javascript
дает несколько результатов, этот может пригодиться. По сути, он пытается загрузить апплет Java, а затем JavaScript запрашивает апплет.
detect "java version" using javascript
- person kingjeffrey; 20.04.2010
Вы можете использовать библиотеку 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<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.
navigator.mimeTypes
, похоже, присутствует в IE11
- person mopo922; 15.03.2017
Логика обнаружения не работает в IE32 на Windows7-64. Он не смог обнаружить ранее установленную версию java.
Что ж, после дальнейшего чтения, Java Deployment Toolkit в Windows использует ActiveX classid, который может представлять ваше приложение хакерам (см. http://www.kb.cert.org/vuls/id/886582). Я вышел.
Если вы используете Google Analytics, этот пост может быть полезным (подробнее см. ветку форума) .
Я обнаружил, что решение JavaScript, предоставляемое Java Deployment Toolkit, выдает ошибку ... «deployJava.do_initialize не является функцией».
Одно из решений, которое я активно использовал в течение многих лет и которое работает во всех браузерах, - это апплет отображения версии Java. К сожалению, сайт первоначального автора, похоже, исчез, но вы можете загрузить копию апплета отображения версии Java здесь.