Как определить установленную на клиенте среду выполнения Java с веб-сайта ASP .NET? - PullRequest
3 голосов
/ 29 января 2009

У меня есть веб-сайт ASP .NET, на котором размещен апплет Java. Java-апплет требует версии 1.6 Обновление 11 среды выполнения Java.

Как я могу определить, что на клиенте установлена ​​соответствующая среда выполнения, чтобы я мог отображать информативное сообщение, если это не так?

Спасибо

Карл.

РЕДАКТИРОВАТЬ: Решение должно быть независимым от платформы.

Ответы [ 12 ]

10 голосов
/ 29 января 2009

На этой странице описано, как и перечислены некоторые плагины, которые позволят вам обнаруживать Java с помощью JavaScript: http://www.pinlady.net/PluginDetect/JavaDetect.htm

Кроме этого, попробуйте также этот фрагмент:

if (navigator.javaEnabled()) {
    //Java is enabled
}
6 голосов
/ 11 февраля 2009

Ссылка ниже содержит подробную информацию о советах по развертыванию Java-приложений.

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

Цитирование по ссылке

Deployment Toolkit Чтобы избежать проблем с совместимостью браузеров, Deployment Toolkit ( deployJava.js ) предоставляет функции JavaScript, которые автоматически генерируют HTML, необходимый для развертывания апплетов и приложений Java Web Start. Разработчики должны вызывать эти функции для последовательного развертывания своих решений в различных браузерах.

5 голосов
/ 09 февраля 2009

Мой подход заключается в том, чтобы использовать JavaScript navigator.javaEnabled(), чтобы проверить, существует ли какая-то доступная версия Java.

Тогда вы можете использовать System.getProperty("java.version") из самого Java-апплета. Этого должно быть достаточно, чтобы получить информацию о версии, например, 1.6.0_03.

2 голосов
/ 16 февраля 2009

Хотя большинство ответов до сих пор касаются обнаружения самого пользовательского агента (браузера), из вашего упоминания ASP.NET кажется, что вы хотели бы, чтобы это обнаружение происходило на стороне сервера. Если это так, у вас есть несколько вариантов.

Сначала вы можете прослушать заголовки HTTP-запросов, поступающие от пользовательского агента. Компьютер и браузер с установленной Java, как правило, содержат заголовок, предоставляющий подсказку об этом серверу, на котором вы можете выбрать. Вот несколько полезных ссылок об этом подходе: http://www.developershome.com/wap/detection/ https://metacpan.org/pod/HTTP::Browscap

Другой вариант, который у вас есть, - это отправить javascript пользовательскому агенту для выполнения обнаружения, используя один из методов в других ответах на этот вопрос, а затем использовать обратные вызовы ajax, чтобы сообщить серверу, что вы обнаружили.

1 голос
/ 12 февраля 2009

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

0 голосов
/ 22 июля 2010

Ссылка ниже была способом, которым я заставил это работать. Он имеет JS, который вы можете получить, который был сделан для развертывания Java Ссылка была упомянута выше, но я подумал, что пример с ней будет хорош.

Это примеры, которые мне понадобились, чтобы решить мою проблему.

http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/jweb/deployment_advice.html#deplToolkit

Как только вы загрузили файл deployJava.js, вы можете добавить что-то, чтобы убедиться, что java установлен: if (deployJava.getJREs().length > 0) { //Your code to start java }

Убедитесь, что установлена ​​конкретная версия: if (deployJava.versionCheck(version)) { //Your version specific code }

Запустите установщик последней версии Java: deployJava.installLatestJava();

Или конкретную версию, если вы хотите: deployJava.installJRE(version);

0 голосов
/ 13 марта 2010
0 голосов
/ 14 февраля 2009

Просто скопируйте amd и вставьте этот код в адресную строку браузера! Проверьте, полезно ли это вам.

javascript: for(i = 0; i < navigator.plugins.length; i++) alert(navigator.plugins[i].name);

Вам необходимо получить позицию Java в массиве плагинов и, возможно, вы можете проверить версии с помощью регулярного выражения или чего-то еще. Вы можете взглянуть на плагин javascript объект.

Привет! * * 1006

0 голосов
/ 13 февраля 2009
  1. Используйте deployJava.js функцию getJREs () для создания динамической страницы в зависимости от версии Java пользователя.

  2. Используйте http://cowwoc.blogspot.com/2008/12/tracking-java-versions-using-google.html для отслеживания версии Java, используемой вашими веб-посетителями с помощью Google Analytics.

  3. Бонусный шаг: используйте исходный код из шаг 2 в качестве примера того, как следует реализовать шаг 1.

0 голосов
/ 11 февраля 2009

Если решение должно быть независимым от платформы. Я исключу все решения, предоставленные javascript.

Вы можете написать очень простой апплет, который поддерживается старой классической виртуальной машиной. Позвольте апплету определить версию JRE и отобразить сообщение.

Если вы принимаете Javascript, вас может заинтересовать эта статья , которая посвящена автоустановщику приложений WebStart.

...