Java-приложение в теге <embed>

Я пытаюсь встроить Java-приложение в HTML embed пометить, как показано ниже, но это не сработает:

<embed src="Java2DGame.jar" code="ca.vanzeben.game.GameLauncher"
  width="480" height="360"
  type="application/x-java-applet;version=1.7.0"
  pluginspage="http://java.sun.com/j2se/1.7.0/download.html"/>

Но это прекрасно работает в applet пометить так:

<applet code="ca.vanzeben.game.GameLauncher" 
archive="Java2DGame.jar" width="480" height="360"></applet>

Пожалуйста, скажите мне, что мне не хватает?

2 ответа

Решение

Использовать object вместо тега:

<object width="480" height="360" data="Java2DGame.jar" type="application/x-java-applet">
    <param name="codebase" value="http://yourdomain.com/path/to/codebase/" />
    <param name="code" value="ca.vanzeben.game.GameLauncher" />
    <param name="width" value="480" />
    <param name="height" value="360" />
    <param name="archive" value="Java2DGame.jar" />
</object>

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

Рекомендуемый способ включения апплета в веб-страницу заключается в использовании deployJava.js, как указано в ответе Эндрю Томпсона на другой вопрос: /questions/32784295/teg-vstavki-appleta-vozvraschaet-classnotfoundexception/32784315#32784315

Примечание. Спецификация HTML гласит, что тег апплета устарел и вместо него следует использовать тег объекта. Однако в спецификации неясно, как браузеры должны реализовывать тег объекта для поддержки Java-апплетов, а поддержка браузера в настоящее время несовместима. Поэтому Oracle рекомендует продолжать использовать тег апплета в качестве последовательного способа развертывания апплетов Java в браузерах на всех платформах.

Ниже приведен синтаксис тега апплета. Обязательные атрибуты выделены жирным шрифтом. Необязательные атрибуты имеют обычную гарнитуру. Указанные вами значения выделены курсивом:

<applet
    codebase = codebaseURL
    archive = archiveList
    code = appletFile ...or...  object = serializedApplet
    alt = alternateText
    name = appletInstanceName
    width = pixels
    height = pixels
    align = alignment
    vspace = pixels
    hspace = pixels
    legacy_lifestyle = boolean
>
<param name = appletAttribute1 value = value1>
<param name = appletAttribute2 value = value2>
...
alternateHTML
</applet>
Другие вопросы по тегам