Могут ли веб-разработчики остановить всплывающее диалоговое окно IE, если Java не установлена?

#java #internet-explorer #applet #popup #user-experience

#java #internet-explorer #апплет #всплывающее окно #пользовательский интерфейс

Вопрос:

Я разработал веб-сайт (внутренний веб-сайт за брандмауэром), который использует Java-апплет. Если Java не установлена на клиенте, он вернется к другим решениям.

Проблема, с которой я столкнулся сейчас, заключается в том, что по крайней мере в IE9 появляется диалоговое окно, в котором говорится, что моя веб-страница использует Java и как это установить. Я уже позабочусь об этом на своей веб-странице, поэтому могу ли я использовать какой-нибудь мета-тег или другой, чтобы IE9 не испортил пользовательский интерфейс?

Пользователи подумают, что моя веб-страница не может быть запущена без Java, когда появится это всплывающее окно!

HTML

 <applet 
    id="tinyApplet" 
    width="0" 
    height="0" 
    codebase="/applet" 
    archive="se.lu.ldc.tiny.jar" 
    code="se.lu.ldc.tiny.applet.Tiny"> 
Some HTML text 
</applet> 
 

Комментарии:

1. Извините, это внутренний веб-сайт за брандмауэром.

2. Извлечение <applet id="tinyApplet" width="0" height="0" codebase="/applet" archive="se.lu.ldc.tiny.jar" code="se.lu.ldc.tiny.applet.Tiny"> Some HTML text </applet>

3. Кстати, я отредактировал некоторые из ваших комментариев обратно в вопрос. Теперь, когда я это ясно вижу, я бы не советовал пытаться встроить 0x0 апплет. Вероятно, это будет воспринято как подозрительное и удалено молча. Вместо этого укажите small size ( 20x20 ) и используйте CSS, чтобы сделать его невидимым.

Ответ №1:

Попросите JS проверить, установлена ли Java, прежде чем писать элемент апплета. Например.

При вводе..

 alert(java.lang.System.getProperty("java.version"));
 

В строке ввода консоли FF JS вы можете увидеть что-то вроде:

 [02:55:46.025] alert(java.lang.System.getProperty("java.version"));
[02:55:46.027] ReferenceError: java is not defined
 

.. если Java не установлена. Если он не установлен, используйте альтернативный контент / стратегию.

Если вызов getProperty(String) возвращает null значение non, то Java установлена (и java.version является свойством, определенным в этом JRE).

Комментарии:

1. проверка, если это IE, проверка не сработала в Chrome для меня: (

2. Что означает «не сработало»? Означает ли это, что версии Java не были возвращены для браузера Chrome с Java? Значение было возвращено для того, которое не было установлено? Что-то еще?