Спецификация языка HTML

       

Текущая практика для макросов сценариев


Тело макроса состоит из одного или более операторов на языке сценариев по умолчанию (как и у внутренних атрибутов событий). Точка с запятой перед правой скобкой необходима всегда, поскольку иначе символ "}" рассматривается как часть тела макроса. Нужно также отметить, что кавычки всегда необходимы для атрибутов, содержащих макросы сценариев.

Атрибуты CDATA обрабатываются так:

  1. Разборщик SGML вычисляет все мнемоники SGML (напр., ">").
  2. Затем макросы сценариев вычисляются машиной скриптов.
  3. Наконец, результирующая строка символов предаётся приложению для последующей обработки.

Обработка макросов имеет место при загрузке документа (или перезагрузке), но не происходит при изменении размера документа, перерисовке и т.п.

НЕ РЕКОМЕНДУЕТСЯ:

Вот несколько примеров с использованием JavaScript. В первом чстаноавливается случайное значение для цвета фона страницы:

<BODY bgcolor='&{randomrgb};'>

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

<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">



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