Элемент 'APPLET' является устаревшим, вместо него спецификация HTML 4.01 предоставляет элемент 'OBJECT'.
Класс main апплета (Sample2) и другие необходимые классы не находятся внутри jar файла (java архива).
<applet code="Sample2"
height="300" width="450" >
</applet>
заменяется на:
<!--[if !IE]>
<object classid="java:Sample2.class"
type="application/x-java-applet"
height="300" width="450" >
<![endif]-->
<!-- MSIE (Microsoft Internet Explorer) будет использовать внутренний объект -->
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab"
height="300" width="450" >
<param name="code" value="Sample2" />
<strong>
Этот браузер не имеет Java-плагина.
<br />
<a href="http://java.sun.com/products/plugin/downloads/index.html">
Скачайте по ссылке самую последнюю версию Java-плагина.
</a>
</strong>
</object>
<!--[if !IE]>
</object>
<![endif]-->
Класс main апплета (Sample2) и другие необходимые классы находятся внутри jar файла (java архива).
<applet code="Sample2"
archive="Sample2.jar"
height="300" width="450" >
</applet>
становится:
<!--[if !IE]>
<object classid="java:Sample2.class"
type="application/x-java-applet"
archive="Sample2.jar"
height="300" width="450" >
<!-- Браузеру Konqueror необходимо указывать следующий параметр -->
<param name="archive" value="Sample2.jar" />
<![endif]-->
<!-- MSIE (Microsoft Internet Explorer) будет использовать внутренний объект -->
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab"
height="300" width="450" >
<param name="code" value="Sample2" />
<param name="archive" value="Sample2.jar" />
<strong>
Этот браузер не имеет Java-плагина.
<br />
<a href="http://java.sun.com/products/plugin/downloads/index.html">
Скачайте по ссылке самую последнюю версию Java-плагина.
</a>
</strong>
</object>
<!--[if !IE]>
</object>
<![endif]-->
Этот код работает в MSIE 6, браузерах семейства Mozilla и других стандарто-ориентированных браузерах, также код проходит проверку на соответствие спецификациям HTML 4.01 transitional и HTML 4.01 strict.
Как видно из примеров, основная идея это использование вложенных элементов 'OBJECT'.
Согласно спецификации: HTML 4.01, Section 13.3.1 Rules for rendering objects
Браузер должен интерпретировать элемент 'OBJECT' в соответствии с нижеследующими правилами:
...
Значительной особенностью механизма отображения элемента 'OBJECT' является возможность указания альтернативного объекта; каждому вложенному объявлению <object></object> можно указать другой тип данных (другой объект). Если браузер не может отобразить внешний 'OBJECT', он пытается отобразить содержимое элемента, которым может являться ещё один элемент 'OBJECT' и т.д.
MSIE вызывает Java-плагин через управляющий элемент ActiveX. Управляющий элемент с идентификатором "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" заставляет браузер использовать самую новую версию Java-плагина, установленную на компьютере пользователя. Иногда пользователи MSIE 6 имеют несколько установленных версий плагина.
Другая идея состоит в использовании условных комментариев Internet Explorer-а, таким образом MSIE не увидит внешний объект. Иначе он попытается отобразить оба объекта (MSIE 6 ведёт себя не в соответствии со спецификацией HTML 4.01). Firefox и другие браузеры будут использовать внешний 'OBJECT'.
codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab" позволяет MSIE предложить пользователю установить плагин версии 1.5.0, который браузер скачает с java.sun.com, если на компьютере пользователя нет плагина, либо его версия старше, чем необходимо для запуска апплета.<strong>подскажет пользователям Firefox и других (не MSIE) браузеров, где можно скачать последнюю версию Java-плагина в случае, если он не установлен. Если же он установлен, но его версия старше, чем необходимо, то апплет работать не будет, однако, к сожалению, попытка отобразить объект будет считаться удачной и браузер не перейдёт к внутреннему объекту. Поэтому на странице перед апплетом всегда должно быть пояснение для пользователя, что делать, если апплет не работает.
Этот браузер не имеет Java-плагина.
<br>
<a href="http://java.sun.com/products/plugin/downloads/index.html">
Скачайте по ссылке самую последнюю версию Java-плагина.
</a>
</strong>