Spec-Zone .ru
спецификации, руководства, описания, API
|
applet
, object
и embed
ТегиJava Богатое Руководство по Интернет-приложениям > Руководство разработчика апплета> Используя applet
, object
, и embed
Теги
Это, которое объясняют разделы, как добавить апплеты Java к Веб-страницам с applet
, object
, и embed
тег. Кроме того, этот раздел обеспечивает направляющие линии для того, чтобы они развернули апплеты в Интернете и в интранет, и для использования с различными браузерами.
Следующие темы затрагиваются:
applet
тегobject
тегembed
тегКак Вы развертываетесь, апплет зависит от того, получают ли пользователи доступ к Веб-странице через Интернет или Интранет, и тип браузера, который они используют. Отметьте эту информацию о своих пользователях, затем следуйте за общими руководящими принципами ниже.
Развертывая апплеты:
Используйте applet
тегируйте, если к Веб-странице получают доступ через Интернет.
object
или embed
тегируйте, если к Веб-странице получают доступ через интранет.Развертывая апплеты:
Для Internet Explorer только, используйте object
тег.
Для семейства Mozilla браузеров только, используйте 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
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
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
тег, считайте object
тег:
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="200" height="200"> <PARAM name="code" value="Applet1.class"> </OBJECT>
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"
См. classid
атрибут.
Вы используете дополнительное codebase
атрибут, чтобы определить, если и как загрузить JRE.
codebase
у атрибута есть две формы:
codebase=<URL>
С этой формой, если JRE, определенный classid
атрибут не устанавливается локально, тогда пользователь запрашивается загрузить JRE с определенного URL.
codebase=<URL>#Version=major,minor,micro,update
С этой формой, если версия JRE, определенного в атрибуте кодовой базы, больше чем версия JRE, определенного classid
атрибут, тогда пользователь запрашивается загрузить JRE с определенного URL.
Следующее является примером того, как использовать 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"/>
У атрибута типа может быть одна из двух форм:
type="application/x-java-applet;version=1.6"
application/x-java-applet;version=1.6
вызывается, чтобы выполнить апплет. Если JRE с номером версии, равным или больше чем определенный номер версии, устанавливается локально, то это JRE вызывается. Иначе пользователь направляется к URL, определенному как значение pluginspage
атрибут.type="application/x-java-applet;jpi-version=1.5.0_07
jpi-version
(в этом примере, 1.5.0_07), вызывается, чтобы выполнить апплет. Иначе пользователь направляется к URL, определенному как значение pluginspage
атрибут.Можно развернуть апплеты для пользователей и Internet Explorer и семейства Mozilla браузеров одним из двух способов:
При использовании чистого подхода HTML, чтобы развернуть апплеты в среде смешанного браузера, отметьте следующее:
Internet Explorer
object
тегcomment
тегobject
тег с classid
атрибутcomment
тегРассмотрите следующий пример кода от страницы 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>
Вместо того, чтобы использовать чистый подход HTML, описанный выше, можно использовать JavaScript, чтобы развернуть апплеты в среде смешанного браузера.
Через JavaScript, Вас:
Обнаружьте браузер пользователя через appName
переменная.
Используйте document.write()
метод, чтобы записать тег, основанный на значении appName
переменная:
Если имя браузера равняется "Mozilla", запишите embed
тег.
Если имя браузера равняется "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>