Примеры сетевых топологий

         

Заметки о скриптах


Эта спецификация резервирует синтаксис для будущей поддержки скриптовых макро в атрибутах cdata HTML. Целью этого является допущение установки атрибутов, зависящих от свойств объектов, которые были записаны выше на странице. Синтаксис выглядит следующим образом:

attribute = "... &{ macro body }; ... "

Существующая практика скриптов

Тело макро состоит из одного или более записей на языке скриптов. Точка с запятой, следующая за правой фигурной скобкой, всегда необходима, иначе правая фигурная скобка будет рассматриваться как часть текста макро.

Обработка Cdata атрибутов производится следующим образом:

  1. Анализатор текста sgml вычисляет любой символьный объект SGML (напр., ">").

  2. Далее скриптовые макросы обрабатываются интерпретатором скриптов.

  3. И, наконец, результирующая последовательность символов передается приложению для последующей обработки.

Обработка макро имеет место, когда документ загружается, но эта процедура не повторяется, когда документ изменяется в размере или перезакрашивается.

Не рекомендуемый пример:

Ниже приведены примеры с использованием Javascript. Первый делает фон документа рэндомизованным:

<body bgcolor='&{randomrbg};'>

Возможно, вы хотите приглушить фон для просмотра в вечернее время:

<body bgcolor='&{if(date.gethours > 18)...};'>

Следующий пример использует javascript при установке координат для карты изображения на стороне клиента:

<map name=foo>
<area shape="rect" coords="&{myrect(imageuri)};" href="&{myuri};" alt="">
</map>

Этот пример устанавливает размер изображения, базируясь на свойствах документа:

<img src="bar.gif" width='&{document.banner.width/2};' height='50%' alt="banner">

Вы можете установить URI для связи или изображения с помощью скрипта:

<SCRIPT type="text/javascript">
function manufacturer(widget) {
...
}
function location(manufacturer) {
...
}
function logo(manufacturer) {
...
}
</SCRIPT>
<A href='&{location(manufacturer("widget"))};'>widget</A>
<IMG src='&{logo(manufacturer("widget"))};' alt="logo">

Последний пример показывает, как SGML CDATA атрибуты могут помещаться в одинарные или двойные кавычки. Если вы помещаете строку атрибута в одиночные кавычки, вы можете использовать двойные кавычки в качестве части строки атрибута. Другой подход связан с использованием &quot; для двухкавычечных меток:

<IMG src="&{logo(manufacturer(&quot;widget&quot;))};" alt="logo">



Содержание раздела