Как я могу определить, установлена ​​ли java или нет, и знать ее версию, не используя java-апплет для проверки и не используя javascript? - PullRequest
1 голос
/ 28 апреля 2011

Возможно ли это?

перед входом на сайт, он должен проверить, установлена ​​ли java, и должна иметь определенную версию перед перенаправлением на указанную страницу.

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

спасибо.

Ответы [ 4 ]

2 голосов
/ 28 апреля 2011

Я думаю, что наивно полагать, что у кого-то JS отключен, но Java установлена ​​и включена.

  • JS поставляется с браузером, а Java - нет.
  • JS включен по умолчанию и должен быть явно отключен.
  • Многие сайты сегодня либо полагаются на JS, либо дают гораздо более приятный пользовательский интерфейс при включении JS.
  • deployJava.js это последняя стратегия, предлагаемая Sun / Oracle для проверки того, что браузер имеет указанная минимальная версия Java перед запуском апплета или включением ссылки запуска для JWS Приложения. Если 90% разработчиков апплетов за последние 2-3 года используют скрипт, как вы думаете, есть вероятность увидеть, что Java установлена ​​и включена в тех браузерах, где JS отключен?

Прежний способ Sun гарантировать, что у апплета была необходимая версия плагина, использовал HTMLConverter, который создал вложенный элемент OBJECT / EMBED, так ненавистный службам валидации (и любой уважающий себя веб-разработчик). Этот неверный HTML не использовал JS или Java, чтобы делать то, что он делал, все это опиралось на HTML, а также на способность браузера / пользователя и готовность воздействовать на упомянутые элементы.

Однако я не рекомендую использовать этот подход, я думаю, что deployJava.js - лучший способ добиться этого.

Если вы действительно настаиваете на каждой попытке определить Java пользователя, и не возражаете «ломая кнопку назад», есть и другие методы, которые можно использовать. НАПРИМЕР. есть серия страниц.

  1. Первая страница имеет перенаправление метаобновления на nojs.html, установленное в NN секунд, и использует JS для перенаправления на hasjs.html немедленно.
  2. Тесты hasjs.html для Java:
    1. Определить, включена ли Java
    2. Проверьте версию Java, используя что-то вроде javascript:alert(java.lang.System.getProperty('java.version')). Работает по адресу панель FF, чтобы открыть диалоговое окно, которое сообщает 1.6.0_24 об этом окне.
    3. (наконец), чтобы определить, что сам апплет активен (в отличие от сбоя / отказа во время выполнения), см. Определите, готов ли апплет .

Таким образом, как видно, JS не только сможет проверить, включена ли Java, но также может проверить версию и то, что какой-либо конкретный апплет был успешно загружен.

1 голос
/ 28 апреля 2011

Ну, без использования Java-апплета и без использования JavaScript. Что еще вы можете использовать? Вы пытаетесь получить доступ к данным, относящимся к клиенту, вы не можете получить эти данные на стороне сервера.

1 голос
/ 28 апреля 2011

Вы можете предложить пользователю ввести, какую версию Java они установили.В противном случае, нет.

0 голосов
/ 28 апреля 2011

Перепишите ваше приложение в .NET, и тогда вы сможете использовать строки User-Agent, такие как:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 
    .NET CLR 1.1.4322; .NET CLR 2.0.50727)2011-04-27 23:02:21

Хотелось бы, чтобы браузеры отправляли те же вещи для установленной Java ... увы, они.

...