DHTML   ООП   Элементы Object и Applet  

Внедрение объектов в HTML

  1. Общие понятия об объектах в HTML
  2. Встраиваем звук
  3. Встраиваем flash-анимацию

Общие понятия об объектах в HTML

Для того, чтобы добавить создаваемым Web-страницам дополнительные возможности, мы можем вставлять в состав их содержимого специализированные функциональные элементы. В качестве подобных элементов часто выступают Java-апплеты, элементы ActiveX, Flash-ролики и многое другое. Как их обрабатывает браузер, нас заботить не должно. Он все равно сделает это правильно. Нас интересует, как их внедрять в Web-страницы.

До тех пор, пока мы не научились сами создавать функциональные объекты, пользуясь какой-либо достаточно серьезной технологией, часто требующей хороших навыков программиста, мы можем использовать подобные компоненты от сторонних производителей. Благо подобные компоненты в изобилии выложены в Сети. Главное, их найти и правильно внедрить в Web-страницу.

Для вставки некоего функционального объекта, следует воспользоваться тэгом <object>. Для него существует и закрывающий тэг </object>. Между этими двумя тэгами обычно размещается список дополнительных данных, которые передаются объекту в качестве параметров, и некий текст, который будет отображаться, если браузер все-таки не сможет правильно обработать внедренный объект. Здесь необходимо различать свойства объекта, которые мы задаем при помощи параметров тэга, и дополнительные данные, которые передаются как параметры самого объекта при помощи специализированных тэгов.

Так, например, если мы хотим вставить в свою Web-страницу некий элемент ActiveX, демонстрирующий изменение некоторой зависимости на графике, то нам потребуется, помимо внедрения самого объекта, установить еще и начальные данные. Для этого придется воспользоваться приблизительно следующей конструкцией:

<object classid="clsid:EB39F965-2374-llD3-85Fl-F21B86A4754D"
	codebase="http://www.mysite.com/scripts/myactx.осх"#version=l,0,0,0 
	width=500 height-300 align center>
	<param name="start" value="0" valuеtype="data">
	<p>K сожалению, Ваша операционная система не поддерживает технологию ActiveX</p>
</object>

В данном примере мы при объявлении внедренного объекта использовали в объявляющем тэге несколько параметров. Параметр classid применяется для установки идентификатора внедряемого элемента, а параметр codebase задает URL файла, в котором и содержится внедряемый объект. Обычно для распространяемых объектов подобные параметры детально описываются в сопроводительном тексте. Чуть позже мы подробно рассмотрим все параметры этого тэга. После тэга <object> мы разместили тэг <param>, при помощи которого задали начальные данные для внедренного объекта. Проще всего рассматривать подобные передаваемые параметры как переменные. На каждую передаваемую переменную требуется один тэг <рагаm>. Но теперь, все-таки, перейдем к рассмотрению многочисленных параметров тэга <оbject>.

  • Параметр classid, как мы уже знаем, применяется для установки уникального идентификатора внедряемого элемента. Часто его просто необходимо использовать, так как внедряемый элемент сохраняется в локальной системе пользователя, как, например, элементы ActiveX.
  • Параметр codebase предназначен для указания URL, который указывает на некий файл или каталог, в котором располагаются все необходимые для функционирования внедряемого элемента файлы.
  • Параметр data предназначен для задания местоположения графических изображений или иных блоков данных, которые используются встраиваемым объектом для своей деятельности. В качестве значения параметра используется URL, указывающий на файл с требуемым блоком данных.
  • Параметр type задает тип данных, на которые указывает предыдущий параметр. В качестве значения данного параметра используется одно из стандартных наименований типов данных, определенных в протоколе HTTP.
  • Параметр codetype позволяет указывать тип подключаемого объекта. Рекомендуется использовать данный параметр в тех случаях, когда информации, находящейся в параметре classid недостаточно для того, чтобы четко указать тип внедряемого элемента.
  • Параметр archive позволяет указывать местоположение архивных данных, которые имеют отношение к внедренному объекту, например, его обновлению. В некоторых случаях это позволяет сократить общее время загрузки новой версии внедряемого объекта. В качестве значения данного параметра используется список URL, разделенный пробелами.
  • Параметр declare не имеет значений. Если он входит в состав тэга <object>, то внедряемый объект просто объявляется, но не вставляется в Web-страницу. Обычно параметр применяется, если у нас есть несколько тэгов <object>, вставленных друг в друга.
  • Параметр standby позволяет задавать текст, который будет отображаться на месте объекта, пока он сам загружается из Сети. В качестве значения параметра используется обычная текстовая строка.
  • Параметр height предназначен для явного указания высоты объекта. В качестве значения параметра используется количество пикселов, абсолютное или кратное, или процентное соотношение.
  • Параметр width позволяет явно задавать ширину внедряемого объекта. В качестве значения используется один из стандартных вариантов задания размеров.
  • Параметр usemap используется, если внедряемый объект является графическим изображением, которое предназначено для использования в качестве сегментированной карты. Вопросы использования сегментированной графики мы рассматривали в разделе, посвященном гиперссылкам. В качестве значения параметра используется имя карты ссылок, заданное в параметре name тэга <тар>, объявляющего подключаемую карту сегментов.
  • Параметр name позволяет задавать уникальное идентифицирующее имя данного конкретного внедряемого объекта.
  • Параметр tabindex Позволяет задавать порядковый номер объекта в последовательности органов управления, размещенных на Web-странице, переход между которыми производится при помощи клавиши табуляции.
  • Параметр hspace задает размеры свободного пространства по горизонтали между встроенным объектом и остальным содержимым Web-страницы. В качестве значения, используется число, обозначающее количество пикселов в отступе.
  • Параметр vspace позволяет задавать отступы про вертикали. В качестве значения используется все то же количество пикселов.
  • Параметр border задает толщину границы, обрамляющей внедренный объект. В качестве значения используется количество пикселов.
  • Параметр align позволяет задавать вертикальное или горизонтальное выравнивание объекта относительно остального содержимого Web-страницы. В качестве значения используется одно из уже знакомых нам ключевых слов: bottom, middle, top, left, right. Механизм их действия подробно описывался в разделе, посвященном использованию графики.

Если встраиваемому объекту необходимо передавать начальные данные для работы, то для этих целей применяется тэг <param>, который мы уже упоминали ранее. Он помещается между тэгами <object> и </object>. Если мы передаем данные объекту, то тот принимает их как переменные. Следовательно, нам необходимо задать имя этой переменной, чтобы объект мог правильно ее распознать, и значение переменной. Это минимальные требования. На самом деле, мы можем сделать больше. Все эти действия производятся при помощи параметров <param>. Всего этих параметров — пять. Помимо общего идентифицирующего параметра id, есть и четыре специфичных.

  • Параметр name является обязательным для тэга <param>. При помощи значения этого параметра мы устанавливаем имя передаваемой переменной. Значением параметра является текст. Так как существуют самые различные методы создания встраиваемых объектов, то может получиться так, что это наименование переменной будет чувствительно к регистру символов. Поэтому стоит придерживаться того наименования, которое приводится в описании объекта.
  • Параметр value предназначен для установки значения передаваемой переменной. Значением данного параметра является текст. Встраиваемый объект сам берет на себя его распознавание.
  • Параметр valuetype позволяет задавать тип передаваемого значения. Это могут быть данные в каком-либо стандартизованном формате, ссылка на некий ресурс в Сети или другой объект. Кроме того, некоторые встраиваемые объекты в качестве переменных могут принимать другие объекты, причем, их тип может и не совпадать. В качестве значения параметра может использоваться одно из трех ключевых слов. Значение data, установленное по умолчанию, указывает, что используется стандартная переменная, передающая данные какого-либо типа. Как и упоминалось, мы передаем данные как строку, а объект сам интерпретирует их. Значение ref указывает, что в качестве переменной передается ссылка на какой-либо ресурс в Сети: А значение object сигнализирует, что мы передаем в качестве стартовых данных другой объект.
  • Параметр type используется в тех случаях, когда параметр valuetype имеет значение ref, т.е. когда в качестве переменной мы передаем ссылку на некий ресурс в Сети. Данный параметр указывает, какой тип имеет ресурс, на который мы ссылаемся.

И на этом перечень используемых параметров тэга <param> заканчивается. Еще раз напомню, что когда мы берем из Сети некий встраиваемый объект, к нему всегда прилагается сопроводительный текст, в котором рассказывается, как подключать данный объект, и какие стартовые данные ему нужны для работы. Внимательно читайте инструкцию, это может серьезно сэкономить вам время.
Среди встраиваемых объектов HTML выделяет в особую группу Java-апплеты. Для того, чтобы внедрить их в состав содержимого Web-страниц, предусмотрен специализированный тэг <applet>. Но прежде, чем мы разберем его использование, стоит все-таки узнать, что такое Java-апплеты.

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

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

Естественно, возможность выполнения кода на любой компьютерной системе — это именно то, чего не хватает WWW. Ведь если документы читают браузеры, то активные элементы должны обрабатываться непосредственно операционной системой; и если сделать ставку на какое-либо решение, которое действует только в одной системе, то тем самым мы отсекаем от своего ресурса пользователей остальных компьютерных платформ и операционных систем.

Поэтому был разработан дополнительный стандарт облегченных Java-приложений, которые могли бы внедряться в Web-страницы. Подобные облегченные Java-приложения называются Java-апплетами. Вставляются в содержимое Web-страниц они при помощи тэга <appiet>. Но специфика использования его ничем не отличаются от правил использования тэга <object>. И наборы параметров этих двух тэгов практически не различаются. В тэге <applet> могут применяться параметры codebase, code, name, archive, width, height, alt, align, hspace, vspace. Естественно, функциональность этих параметров не отличается от функциональности их близнецов, используемых в тэге <object>. Между тэгами <applet> и </appiet> могут размещаться тэги <param>, задающие стартовые данные для Java-апплета.

Следует обратить внимание на то, что в списке параметров отсутствует параметр classid. Дело в том, что тэг; <applet> применяется для объектов строго фиксированного типа, для апплетов, а они унаследовали пакетную структуру из своего прародителя — языка Java. Java-апплеты, если говорить более точно, представляют собой не просто какие-то файлы, а, так называемые, классы, хранимые в Java-пакетах. Поэтому для идентификации используется просто наименование класса, которое записывается в параметре name.

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

Раньше в HTML имелась только одна возможность добавлять мультимедийную информацию на web-страницы - элемент IMG. Он позволял добавлять только изображения, а остальные форматы были закрыты для web. Тогда разработчики браузеров стали добавлять поддержку новых элементов. Так появились тэги <embed> от фирмы Netscape и <applet> от фирмы Sun.

Но появление этих элементов не решило всех проблем и тогда в спецификацию HTML был добавлен новый элемент <object>, позволяющий работать с любыми форматами. При этом на компьютере пользователя должно быть установлено приложение или дополнительный модуль к браузеру (плагин), позволяющий просматривать объект соответствующего формата.

Встраиваем звук

Теперь вы можете управлять звуком, правда для этого вам придется загрузить дополнительный плагин.

Код следующий:


<html>
   <head>
     <title>Звук</title>
   </head>
   <body>
     <object width="480" height="50" align="center">
       <param name="movie"
      value="Love_Me_Do_Beatles.mid">
       <param name="quality" value="high">
       <param name="bgcolor" value="#FFFFFF">
       <embed src="Love_Me_Do_Beatles.mid"
      quality="high"
      bgcolor="#FFFFFF"
      autostart="false"
      width="480"
      height="50"
      align="center"
      type="audio/mid"
      pluginspage="http://www.macromedia.com/go/getflashplayer">
     </object>
   </body>
</html>

Посмотрите на результат у себя и разберем, что же мы написали:

тэги <object></object> позволяют встраивать любой объект заданием его URL.

тэги <param> позволяют задать объекту начальные значения.

тэг <embed> указывается для старых версий браузера, которые не поддерживают тэги <object></object> (поэтому параметры повторяются).

Теперь разберем параметры тэга <param>:

<param name="movie" value="..."> - задает файл-источник объекта.

<param name="quality" value="..."> - задает качество отображения объекта, возможные значения: high (высокое), medium (среднее) и low (низкое).

<param name="bgcolor" value="..."> - задает фон для области отображения объекта.

У тэга <embed> есть еще параметры:

type - задает MIME-тип встроенного объекта.

pluginspage - указывает на URL приложения, которое необходимо для просмотра встраиваемого объекта.

Встраиваем flash-анимацию

Рассмотрим встраивание flash-анимации в html-страницу. Для этого нам понадобится flash-player (скачать можно по адресу www.macromedia.com) и сама flash-анимация (файл с расширением .swf). Сам файл можно и не скачивать, а лишь узнать ссылку на него. Например, мне очень понравился этот котик:

(поводите вокруг него мышкой). Эта анимация находится по адресу http://bourabai.kz/flash/blackcat.swf. Для того, чтобы вставить ее в страницу добавим следующий код:


<html>
   <head>
     <title>Анимация</title>
   </head>
   <body>
     <object width="480" height="200" align="center">
       <param name="movie"
      value="http://bourabai.kz/flash/blackcat.swf">
       <param name="quality" value="high">
       <param name="bgcolor" value="#FFFFFF">
       <embed src="http://bourabai.kz/flash/blackcat.swf"
      quality="high"
      bgcolor="#FFFFFF"
      width="480"
      height="200"      
      align="center"      
      type="application/x-shockwave-flash"
      pluginspage="http://www.macromedia.com/go
      /getflashplayer">
     </object>
   </body>
</html>

Как видите код почти такой же, как в примере со звуком, разница только в URL файлов и их типах. Но элемент <object> для того и существует, чтобы встраивать совершенно разные объекты: картинки, музыку, видео, анимации и т.д. Чтобы все это работало, необходимо указать MIME-тип встраиваемого объекта и иметь нужный плагин.

Типов объектов существует очень много, приведем здесь лишь наиболее популярные:

тип файла расширение MIME-тип
аудиозапись AU.auaudio/basic
аудиозапись MIDI.midaudio/mid
аудиозапись MP3.mp3audio/mpeg
аудиозапись WAV.wavaudio/wav
видео в формате AVI.avivideo/x-msvideo
видео в формате MPEG.mpeg, .mpgvideo/mpeg
видео в формате QuickTime.movvideo/quicktime
трехмерная интерактивная графика в формате VRML.wrlx-world/x-vrml
flash.swfapplication/x-shockwave-flash
DHTML   ООП   Элементы Object и Applet  

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

НОВОСТИ ФОРУМАФорум Рыцари теории эфира
Рыцари теории эфира
 11.11.2019 - 02:21: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Марины Мелиховой - Карим_Хайдаров.
11.11.2019 - 00:24: СОВЕСТЬ - Conscience -> РУССКИЙ МИР - Карим_Хайдаров.
11.11.2019 - 00:20: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Светланы Вислобоковой - Карим_Хайдаров.
10.11.2019 - 23:14: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Кирилла Мямлина - Карим_Хайдаров.
08.11.2019 - 06:44: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
08.11.2019 - 06:42: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вячеслава Осиевского - Карим_Хайдаров.
06.11.2019 - 09:43: ЭКОНОМИКА И ФИНАНСЫ - Economy and Finances -> ПРОБЛЕМА КРИМИНАЛИЗАЦИИ ЭКОНОМИКИ - Карим_Хайдаров.
05.11.2019 - 21:56: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Декларация Академической Свободы - Карим_Хайдаров.
04.11.2019 - 12:41: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> КОМПЬЮТЕРНО-СЕТЕВАЯ БЕЗОПАСНОСТЬ ДЛЯ ВСЕХ - Карим_Хайдаров.
04.11.2019 - 12:28: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ЗА НАМИ БЛЮДЯТ - Карим_Хайдаров.
31.10.2019 - 08:27: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
30.10.2019 - 09:07: ЭКОНОМИКА И ФИНАНСЫ - Economy and Finances -> КОЛЛАПС МИРОВОЙ ФИНАНСОВОЙ СИСТЕМЫ - Карим_Хайдаров.
Bourabai Research Institution home page

Bourabai Research - Технологии XXI века Bourabai Research Institution