2013-06-11 4 views
1

Есть ли способ определить, установлена ​​ли Java на вашем компьютере или отключена функция java в браузере. Мы используем java-апплеты в нашем приложении, но перед загрузкой апплета мы используем «deployJava.js». К сожалению, даже если Java отключена в браузере, он говорит, что java не установлен.Java Installed vs Java Включено в браузере

Таким образом, существует способ различения, если Java установлена ​​или Java отключен, предпочтительно используя javascript. Я также попытался использовать «navigator.javaEnabled()», но он дает мне тот же результат, что и «deployJava.js».

+0

Я сомневаюсь, что это возможно. –

+0

Просто проверьте для отключенных .... в любом случае вы не можете включить его, если он отключен с помощью javascript .. надеюсь, что эта предыдущая статья поможет http://stackoverflow.com/questions/14871287/how-to-check-whether-java-plugin -is-enabled-or-not-use-javascript/14871394 # 14871394 – AurA

ответ

0

Вот что-то js window.navigator.plugin

+0

@sissonb: вы правы, это navigator.plugins, с «s», который работает в FF и chrome и должен включать java при включении. – dandavis

1

Вы не можете.

И это было бы очень неприятно, если бы вы могли. С браузером на страницу уже достаточно информации, если она начала рассказывать людям, что я установил, но что я якобы отключен, это было бы очень неприятно.

Возможно, было бы возможно и полезно представить API для этого, но в текущем состоянии его нет: либо плагин здесь используется, либо нет. Неважно, установлен ли он или нет.

Я думаю, вам придется обойти это, указав в своих сообщениях, которые должны быть установлены или включены Java. Или вы можете предложить загрузить диагностический инструмент для его запуска и проверить его локально, что может быть другой рабочей альтернативой, хотя с явно раздражающими дополнительными шагами для выполнения (и дополнительным инструментом для поддержки).

1
  1. Добавить перенаправить на HTML-страницу, о которой идет речь. Перенаправление на javaNotEnabledOrNotInstalled.html (но подумайте о менее описательном и глупое имя для него).
  2. В начале апплета init() позвоните JS, чтобы отменить перенаправление.

Отметим также, что в традиционном апплета элемента ..

<applet 
    code=.. 
    width=.. 
    height=.. 
    alt='Java is installed but disabled!'> 
No Java Plug-In installed in this browser. Get Java free from.. 
</applet> 

В этом обстоятельстве, если Java не установлен вообще, пользователь должен увидеть ..

В этом браузере не установлен Java-модуль. Получить Java бесплатно с ..

Однако, если установлена ​​Java, но отключен, они должны видеть ..

установлена ​​Java, но отключен!

+0

Интересно. Это кросс-браузер? Это кажется очень зависимым от того, как они решили обрабатывать тег в этой ситуации, а не кодифицироваться документом. – haylem

+0

* «Это кажется очень зависящим от того, как они решили обрабатывать тег в этом циркульстве». Это элемент, а не тег, и его использование хорошо определено W3C.OTOH Я думаю, что 1-й подход * был бы более надежным. –

+0

Не уверен, что я получаю ваше различие между элементом и тегом в этом контексте. Я знаю, что апплет специфицирован, но я никогда не читал (и я не вижу его в спецификации сейчас), поведение должно было отображать текстовое содержимое элемента, если соответствующий соответствующий плагин не найден, или для отображения текста alt в заполнитель, если он не загружается, и что отключенный плагин приведет к последнему. Рассматривая свой опыт со встроенными компонентами Java, я с радостью буду доверять вам, если он работает. Просто не уверен, что это надежное решение. Затем снова в браузерах, следуя спецификации, не является гарантией надежности ... – haylem