Элементы map и area предоставляют альтернативный механизм для карт изображения клиента.
<!element map - - (area)*>
<!attrlist map %coreattrs; | -- id, class, style, title -- |
name cdata #implied > |
<!element area - o empty>
<!attrlist area
shape %shape rect | -- контролирует интерпретацию координат -- | |
coords %coords #implied | -- список значений, разделенных запятыми -- | |
href %url #implied |
-- эта область используется как гипертекстная связь -- | |
target cdata #implied | -- где отображать подключенный ресурс -- | |
nohref (nohref) #implied | -- эта область не вызывает никаких действий -- | |
alt cdata #implied | -- описание для исключительно текстовых броузеров -- | |
tabindex number #implied | -- position in tabbing order -- > |
Определение атрибута
nohref | Этот булев атрибут (если =true) указывает на то, что данная область не имеет никаких связей. |
Несколько элементов (object, img и input) имеют атрибут usemap = URL для спецификации карты изображения клиента описанной элементами map и area.
Рассмотрим пример, представленный выше, переписанный в терминах MAP и AREA.
<object data=:navbar1.gif" usemap="#map></object>
<map name="map1">
<area href="guide.html" | ||
alt="search" | ||
shape="rect" | ||
coords="184,0,276,28"> |
<area href="top10.html"
alt="top ten" | |
shape="poly" | |
coords="276,0,373,28,50,50,276,0"> |
</map>
Атрибут alt специфицирует альтернативный текст на случай, когда карта изображения не может быть отображена. map не совместима с версией HTML 2.0.
Карты изображения сервера
Карты изображения сервера могут представлять интерес в случае, когда карта изображения слишком сложна для стороны клиента. Такая карта может быть создана с помощью элемента img. Для того чтобы сделать это, нужно установить булев атрибут ismap в описании элемента IMG. Соответствующие области должны быть описаны с помощью атрибута usemap. Когда пользователь активирует область карты изображения, соответствующие координаты посылаются непосредственно серверу, где помещен документ.
Координаты на экране выражаются в пикселях. Агент пользователя берет новый URL из URL, описанного атрибутом HREF, присоединив к нему символ "?", за которым следуют координаты х и у, разделенные запятой. Например, в предыдущем примере, если пользователь кликнет в области x=10, y=27, то будет получен URL=/cgibin/navbar.map?10,27.
В следующем примере первая активная область определяет связь со стороны клиента. Вторая - определяет связь со стороны сервера, но не определяет ее форму и размер (это осуществляется значением по умолчанию атрибута shape). Так как области этих связей перекрываются, первая имеет более высокий приоритет. Таким образом, кликнув мышкой где-либо в прямоугольной области, мы пошлем соответствующие координаты серверу.
<object data="game.gif" shapes>
<a href="guide.html" shape="rect" coords="0,0,118,28"> | ||
rules of the game </a> | ||
<a href= | ||
ismap | ||
shape="default"> | ||
guess the location </a> |