( Внедренные
объекты)
Основы форматирования
Вставка объектов в документы
В HTML существует возможность внедрения различных объектов в Web-страницы.
В старых стандартах HTML для внедрения объектов в документы использовалось
два тега <EMBED> и <APPLET>. Первый служил для внедрения объектов,
отображаемых Plug-ins модулями броузера и прикладными приложениями, а второй
для размещения на Web-станицах Java-аплетов.
В HTML 4 возможности вышеприведенных тегов, по внедрению объектов, объединили
в новом контейнерном теге <OBJECT>. Вы можете продолжать использовать
старые теги (получить информацию об использовании которых можно на MANUAL.RU
), но более предпочтительным (модным) является использование тега <OBJECT>.
Рассмотрим данный тег поподробнее, начнем с его атрибутов:
· BORDER - ширина рамки кадра внедряемого объекта;
· ALIGN- выравнивание объекта в документе (LEFT/RIGHT - режимы с обтеканием
текстом, TOP/MIDDLE/BOTTOM - относительно текущей базовой линии);
· CLASSID - URL для загрузки отсутствующего Plug-ins модуля броузера, для
отображения или воспроизведения объекта на Web-странице (по умолчанию каталог
документа);
· CODETYPE- Internet Media Type содержимого заданного атрибутом CLASSID;
· DATA - URL объекта;
· TYPE - Internet Media Type содержимого объекта заданного атрибутом DATA;
· STANDBY - сообщение выводимое во время загрузки;
· HEIGHT - высота кадра внедряемого объекта;
· WIDTH - ширина кадра внедряемого объекта;
· HSPACE - отступ от объекта по горизонтали;
· VSPACE - отступ от объекта по вертикали;
· ID - имя объекта;
Некоторые приложения и внедряемые элементы (например ActiveX) требуют передачи
им дополнительных параметров для управления отображением или воспроизведения
объекта. Передача параметров осуществляется посредством тега <PARAM>
со следующими атрибутами:
· NAME - имя параметра;
· VALUE - значение параметра;
При передаче нескольких параметров необходимо использовать столько тегов <PARAM>,
сколько необходимо передать параметров.
! А что вы знаете о MIME типах ?
Первоначально MIME (Multiporpose Internet Mail Extensions-Многоцелевые Расширения
Электронной Почты Internet) разрабатывался для использования в системах электронной
почты. Эта технология позволяет включать файлы различных форматов в электронные
сообщения, снабжая их специальным MIME-заголовком, описывающим содержание.
В настоящее время, применение MIME вышло за рамки электронной почты и его
стали называть Internet Media Types. Идентификатор Internet Media Types состоит
из двух частей: идентификатора типа и идентификатора подтипа, разделенных
косой чертой (например: image/jpeg, video/x-msvideo). На основании данных
типов в системе назначаются обработчики различных типов файлов (Internet Media
Types/приложение/расширения файлов).
Список наиболее часто используемых MIME типов вы можете посмотреть на MANUAL.RU
При обнаружении в HTML-документе внедряемого объекта броузер выполняет следующие
операции:
· определяет его MIME-тип (на основании информации заданной атрибутами CODETYPE,
TYPE или анализа расширения файла содержащего объект);
· ищет сопоставленное данному типу Plug-ins модуль броузера или стандартный
обработчик данного типа в системе;
· загружает обнаруженное для данного типа приложение-обработчик и передает
ему файл содержащий объект и заданные тегами <PARAM> параметры, все
остальные теги содержащиеся в контейнере <OBJECT>...</OBJECT>
игнорируются;
· в случае отсутствия необходимого для данного типа обработчика и невозможности
загрузить его по URL заданному атрибутом CLASSID броузер не отображает объект,
a выполняет все другие HTML теги, заключенные в контейнер <OBJECT>...</OBJECT>,
кроме тега <PARAM>;
Рассмотрим несколько примеров использования тега <OBJECT>:
Вставка
файлов мультимедиа
<OBJECT DATA="wawfile.wav" ALIGN=LEFT> </OBJECT>
<OBJECT DATA="mpegfile.mpe" TYPE="application/mpeg"
STANDBY="Загрузка видео файла ..."
WIDTH=200 HEIGHT=200 ALIGN=RIGHT> </OBJECT>
<OBJECT DATA="avifile.avi"
WIDTH=100 HEIGHT=100 BORDER=0 ALIGN=LEFT> </OBJECT>
<OBJECT DATA="midfile.rmi"> </OBJECT>
Вставка Java-аплетов в Java-совместимый броузер
<OBJECT CODETYPE="application/java"
CODEBASE="URL JAVA класса"
CLASSID="java:Имя JAVA класса"
WIDTH="значение" HEIGHT="значение" ALIGN="значение"...>
<PARAM NAME="параметр 1" VALUE="значение 1">
...
<PARAM NAME="параметр N" VALUE="значение N">
<!- альтернативный раздел, обрабатывается при невозможности выполнить аплет
-->
<H1>Здесь находится JAVA-аплет выполняющий ... </H1>
</OBJECT>
Вставка элементов ActiveX в броузер IE.
<OBJECT
CODEBASE="URL ActiveX элемента для его установки в системе"
CLASSID="clsid:Идентификатор ActiveX элемента в реестре Windows"
WIDTH="значение" HEIGHT="значение" ALIGN="значение"...>
<PARAM NAME="параметр 1" VALUE="значение 1">
...
<PARAM NAME="параметр N" VALUE="значение N">
<!- альтернативный раздел, обрабатывается при невозможности выполнить элемент
ActiveX -->
<H1>Сожалею, но ActiveX элемент выполняется у пользователей IE</H1>
</OBJECT>
Например, вот так на Web-странице размещается стандартный календарь Windows:
<object classid="CLSID:8E27C92B-1264-101C-8A2F-040224009C02"
id=msCalendar width=300 height=200 align=left >
<param name=Year value=2001>
<param name=Month value=3>
<param name=Day value=10>
<param name=GridCellEffect value= 1>
<param name=ShowDays value=-1>
<param name=ShowHorizontalGrid value=-1>
<param name=ShowTitle value=-1>
<param name=ShowVerticalGrid value=-1>
</object>
В этой главе придется нарушить традицию и не закреплять полученные знания
на примере, т.к. все что касается объектов сильно зависит от используемого
пользователями программно-аппартатного комплекса.
В заключении следует упомянуть о интересном MSIE расширении HTML - <BGSOUND>
теге, задающим фоновый звук документа. Тег <BGSOUND> должен располагаться
в заголовке документа и иметь следующий формат:
<BGSOUND SRC="URL звукового файла" LOOP="N повторов">
<Title> HTML - полезные советы </Title>
<P> Предисловие </P>
Каждому из нас приходилось использовать небольшие хитрости HTML, чтобы добиться
желаемого результата. Ниже приведены некоторые советы, с которыми дизайн вашего
сайта станет лучше. Вообще-то говоря, полный курс теоретических советов вы
можете увидеть в разделе "Советы". Здесь же собраны практические,
частные случаи, которые могут вам пригодиться при создании сайта или отдельной
страницы.
<P>
Все по порядку </P>
· Не используйте очень большие таблицы на страничке. Если есть возможность,
поделите таблицу на несколько более мелких таблиц или вообще откажитесь от них.
Это связано с тем, что содержимое таблицы не выводится на экран до тех пор,
пока вся таблица не скачана. И у пользователя создается иллюзия медленной
загрузки этой страницы, что нежелательно.
· Так можно автоматически перенаправить посетителя на другую страницу:
<Html>
<Head>
<Title>Мы переехали!</title>
<Meta Http-equiv="Refresh"
Content="5;URL=http://kimsite.narod.ru/">
</Head>
<Body BgColor="#ffffff">
<H1 Align="Center">Мы переехали на новое место:</H1>
<Hr Width="250">
<H2 Align="Center">Подождите 5 секунд или воспользуйтесь
ссылкой:
<A
Href="http://kimsite.narod.ru">http://kimsite.narod.ru</A></H2>
</Body>
</Html>
· Если вы используете параметры отступа текста от рабочего края броузера,
учтите, что для NN и IE они разные:
1) Для Netscape Navigator: "marginwidth" и "marginheight"
2) Для Internet Explorer: "topmargin" и "leftmargin"
Единственный способ корректного распознавания в обоих броузерах разместите все
параметры:
<Body Topmargin="0" Leftmargin="0"
Marginwidth="0" Marginheight="0">
· Строка DOCTYPE (DTD), расположенная в первой строке HTML документа, описывает
стандарт HTML, который используется в этом документе. Два наиболее используемых
DTD:
1) HTML 3.2: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
2) HTML 2.0: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
· Чтобы заменить кнопку в форме на изображение используйте:
<Input Type="image" Src="picture.gif"
Width="25" Height="15" Border="0"
Alt="submit">
· Если при размещении странички на сайте не видно картинок, а в локальной
версии всё было в порядке, то проверьте следующее:
1. Адреса картинок не относительные, а абсолютные (типа file:///....).
2. Могут стоять неправильные слэши: не "/", а "\". В URL,
как правило, применяются прямые слэши "/".
3. FTP может класть на сервер файлики с именами, написанными заглавными буквами
- PICTURE.GIF,
в то время как в тексте будет прописано picture.gif или Picture.gif - для ОС
типа UNIX это не одно и тоже.
· Если Вы делаете карту ссылок из одного изображения, разбитого на несколько
частей, учтите, что язык HTML символ перевода каретки (конец строки)
воспринимает как пробел. Поэтому все тэги, которые у Вас формируют Вашу карту
ссылок, нужно писать в одну строчку, иначе между картинками будут промежутки!
· Чтобы убрать границы шириной 2-3 пискела между фреймами, добавьте в тэге:
<Frameset> строчку Border="0" FrameBorder="0".
· При использовании тэга:
<Table BackGround="picture.gif">
IE отображает фоновый рисунок, начиная от начала таблицы, а NN - с начала
каждой ячейки. Обойти это неудобство можно, вложив таблицу в другую:
<Table Cellspacing="0" Cellpadding=0 Border="0"
BackGround="picture.gif">
<Tr><Td Align="Center">
<Table Cellspacing="0" Cellpadding="4"
Border="0" Width="100%" BackGround="">
<Tr><Td Align="Left">
Информация в ячейки
</Td><Td Align="Right">
Информация в ячейки
</Td></Tr>
</Table>
</Td></Tr>
</Table>
Обратите внимание на BackGround="" и на то, что в тэгах таблиц не
задан атрибут BgColor.
· Для того, чтобы "собрать" один HTML-документ из нескольких кусков,
нужно использовать команды SSI (Server-Side Includes):
<!--#include file="ssi/menu.html" -->
путь к файлу указывается от текущего файла (файла, в котором расположена
команда).
<!--#include virtual="/ssi/menu.html" -->
путь к файлу указывается от корня сервера.
Таким образом, например, можно задать меню, одинаковое для всех страниц
сервера, и хранить его в отдельном файле. Тогда его изменение отразится на всем
сервере и не потребует кропотливой работы по правке всех HTML-страниц Вашего
сервера.
· Как избавиться от противной синей рамки по периметру рисунка, который
является ссылкой?
<A Href="link.html"><Img Src="picture.gif"
Border="0"></A>
· У адреса mailto:, применяемого для отправки писем, можно задать и другие
опции, крома самого адреса. Например, адрес вида:
<A Href='mailto:name@domain.ru?subject="Заголовок письма"&Body="This body of
e-mail">Text</A>