Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Используя applet, object и embed Теги

Java Богатое Руководство по Интернет-приложениям > Руководство разработчика апплета> Используя applet, object, и embed Теги

Это, которое объясняют разделы, как добавить апплеты Java к Веб-страницам с applet, object, и embed тег. Кроме того, этот раздел обеспечивает направляющие линии для того, чтобы они развернули апплеты в Интернете и в интранет, и для использования с различными браузерами.

Следующие темы затрагиваются:

Общие Соображения

Как Вы развертываетесь, апплет зависит от того, получают ли пользователи доступ к Веб-странице через Интернет или Интранет, и тип браузера, который они используют. Отметьте эту информацию о своих пользователях, затем следуйте за общими руководящими принципами ниже.

Развертывание Апплетов в Интернете Против Интранет

Развертывая апплеты:

Развертывание Апплетов для Определенных Браузеров

Развертывая апплеты:

Если следует развернуть апплет в среде смешанного браузера, следовать за направляющими линиями в Апплетах Развертывания раздела в Среде Смешанного браузера.

Используя applet тег

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

Для полных деталей о applet тегируйте, см. следующее:

Отметьте: спецификация HTML утверждает что applet тег осуждается, и что следует использовать object тег вместо этого. Однако, спецификация неопределенна о том, как браузеры должны реализовать object тегируйте, чтобы поддерживать апплеты Java, и поддержка браузера в настоящий момент непоследовательна. Oracle поэтому рекомендует, чтобы Вы продолжали использовать applet тегируйте как непротиворечивый способ развернуть апплеты Java через браузеры на всех платформах.

Следующее является синтаксисом для applet тег. Необходимые атрибуты полужирным. Дополнительные атрибуты находятся в регулярной гарнитуре. Значения, которые Вы определяете, курсивом:

    <applet
        codebase = codebaseURL
        archive = archiveList
        code = appletFile ...or...  object = serializedApplet
        alt = alternateText
        name = appletInstanceName
        width = pixels
        height = pixels
        align = alignment
        vspace = pixels
        hspace = pixels
    >
    <param name = appletAttribute1 value = value1>
    <param name = appletAttribute2 value = value2>
    ...
    alternateHTML
    </applet>

code, codebase, и так далее атрибуты тега апплета; они дают информацию о браузере об апплете. Единственные обязательные атрибуты code, width, и height. Каждый атрибут описывается ниже.

codebase = codebaseURL
Этот дополнительный атрибут определяет базовый URL апплета: каталог, который содержит код апплета. Если этот атрибут не определяется, то URL документа используется.
archive = archiveList
Этот дополнительный атрибут описывает один или более архивов, содержащих классы и другие ресурсы, которые будут "предварительно загружены". Классы загружаются, используя экземпляр AppletClassLoader с данным codebase.
Архивы в archiveList разделяются запятыми (,) Отметьте: в JDK 1.1, многократный applet теги с тем же самым codebase совместно используйте тот же самый экземпляр a ClassLoader. Это используется некоторым клиентским кодом, чтобы реализовать передачу межапплета. Будущий JDKs может обеспечить другие механизмы для передачи межапплета. Для соображений безопасности загрузчик class апплета может только для чтения от той же самой кодовой базы, с которой был запущен апплет. Это означает, что архивы в archiveList должны быть в том же самом каталоге как, или в подкаталоге, кодовая база. Записи в archiveList формы, ../a/b.jar не будет работать если явно не учтено в файле политики безопасности (кроме в случае кодовой базы HTTP, где архивы в archiveList должны быть от того же самого узла как кодовая база, но может иметь символ для родительского каталога (..) в их путях.)
code = appletFile
Этот необходимый атрибут дает имя файла, который содержит апплет, скомпилировал Applet подкласс. Этот файл относительно базового URL апплета. Это не может быть абсолютно. Один из code или object должен присутствовать. Значение appletFile может иметь форму classname.class или формы packagename.classname.class.
object = serializedApplet
Этот атрибут дает имя файла, который содержит сериализированное представление апплета. Апплет будет десериализован. init() метод не будет вызван, но start() метод будет. Атрибуты, допустимые, когда исходный объект был сериализирован, не восстанавливаются. Любые атрибуты, которые передают к этому applet экземпляр будет доступен апплету; мы защищаем очень сдержанность strong в использовании этой функции. Апплет должен быть остановлен прежде, чем он будет сериализирован. Один из code или object должен присутствовать.
alt = alternateText
Этот дополнительный атрибут определяет любой текст, который должен быть выведен на экран, если браузер понимает applet тегируйте, но не может выполнить апплеты Java.
name = appletInstanceName
Этот дополнительный атрибут определяет имя для экземпляра апплета, который позволяет апплетам на той же самой странице найти (и связаться с) друг друга.
width = pixels
height = pixels
Эти необходимые атрибуты дают начальный width и height (в пикселях) области дисплея апплета, не считая любые окна или диалоговые окна, которые переводит в рабочее состояние апплет.
align = alignment
Этот дополнительный атрибут определяет выравнивание апплета. Возможные значения этого атрибута являются тем же самым как теми для img тег: left, right, top, texttop, middle, absmiddle, baseline, bottom, и absbottom.
vspace = pixels
hspace = pixels
Эти дополнительные атрибуты определяют число пикселей выше и ниже апплета (vspace) и на каждой стороне апплета (hspace). Они обрабатываются тот же самый путь как img тег vspace и hspace атрибуты.
<param name = appletAttribute1 value = value1>
<param name = appletAttribute2 value = value2> ...
Этот тег является единственным способом определить специфичный для апплета атрибут. Апплеты получают доступ к своим атрибутам с getParameter() метод.

Используя object тег

Вы используете object тег, чтобы развернуть апплеты, которые должны использоваться только с Internet Explorer. Для полных деталей о object тег, считайте спецификацию HTML W3. Следующее является примером object тег:

<OBJECT 
  classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
  width="200" height="200">
  <PARAM name="code" value="Applet1.class">
</OBJECT>

Атрибут classid

classid атрибут идентифицирует который минимальная версия Плагина Java использовать.

Примером, показанным ниже, является обычно используемая форма classid атрибут. Этот пример дает Internet Explorer команду использовать самую высокую установленную версию Плагина Java.

classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"

Следующее является альтернативной формой classid атрибут:

classid="clsid:CAFEEFAC-xxxx-yyyy-zzzz-ABCDEFFEDCBA"

В этой форме "xxxx", "yyyy", и "zzzz" являются четырехзначными числами, которые идентифицируют минимальную версию Плагина Java, который будет использоваться. Например, чтобы использовать версию Плагина Java 1.6, Вы определяете:

classid="clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA"

См. Развертывающиеся Апплеты Java С семейством Версии JRE в Плагине Java для Internet Explorer для получения дополнительной информации о classid атрибут.

Атрибут кодовой базы

Вы используете дополнительное codebase атрибут, чтобы определить, если и как загрузить JRE.

codebase у атрибута есть две формы:

Следующее является примером того, как использовать codebase атрибут, чтобы установить автоматические загрузки с Веб-сайта Java Sun:

<object 
  classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
  width="200" height="200"
  codebase="http://java.sun.com/products/plugin/autodl/
jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"> <param name="code" value="Applet1.class"> </object>

Отметьте: В этом примере codebase=http://java.sun.com ... строка повреждается для удобочитаемости. В фактическом файле HTML это была бы одна длинная линия.

Oracle упаковал каждую версию установщика JRE в корпусе Microsoft (.cab) формат файла. См. Файлы Автозагрузки для списка этих выпусков и соответствия .cab имена файлов.

Используя embed тег

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

Следующее является примером embed тег:

<embed code="Applet1.class"
  width="200" height="200"
  type="application/x-java-applet;version=1.6"
  pluginspage="http://java.sun.com/javase/downloads/ea.jsp"/>

У атрибута типа может быть одна из двух форм:

Развертывание Апплетов в Среде Смешанного браузера

Можно развернуть апплеты для пользователей и Internet Explorer и семейства Mozilla браузеров одним из двух способов:

Развертывание Апплетов Используя Чистый HTML

При использовании чистого подхода HTML, чтобы развернуть апплеты в среде смешанного браузера, отметьте следующее:

Рассмотрите следующий пример кода от страницы HTML:

<object 
  classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
  <param name="code" value="Applet1.class">
    <comment>
      <embed code="Applet1.class"
        type="application/x-java-applet;version=1.6">
        <noembed>
          No Java Support.
        </noembed>
      </embed>
    </comment>
  </object>

Развертывание Апплетов Используя JavaScript

Вместо того, чтобы использовать чистый подход HTML, описанный выше, можно использовать JavaScript, чтобы развернуть апплеты в среде смешанного браузера.

Через JavaScript, Вас:

  1. Обнаружьте браузер пользователя через appName переменная.

  2. Используйте document.write() метод, чтобы записать тег, основанный на значении appName переменная:

  1. Если имя браузера равняется "Mozilla", запишите embed тег.

  2. Если имя браузера равняется "Microsoft Internet Explorer", запишите object тег.

В следующем примере, document.write() выводы метода любой embed или object тег для каждого пользователя "на лету":

<html>
<script language="Javascript">

  var _app = navigator.appName;

  if (_app == 'Mozilla') {
    document.write('<embed code="Applet1.class"',
                   'width="200"',
                   'height="200"',
                   'type="application/x-java-applet;version=1.5.0">');
    }
  else if (_app == 'Microsoft Internet Explorer') {
    document.write('<OBJECT ',
                   'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"',
                   'width="200"',
                   'height="200">',
                   '<PARAM name="code" value="Applet1.class">',
                   '</OBJECT>');
    }
  else {
    document.write('<p>Sorry, unsupported browser.</p>');
    }

</script>
</html>

Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами