Спецификация HTML 4.01 + Спецификация CSS2


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


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

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

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

    НЕ РЕКОМЕНДУЕТСЯ:
    Вот несколько примеров с использованием 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">



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