Перейти к первому, предыдущему, следующему, последнему разделу, оглавлению.


ProgrammerBook.ru: Обратите внимание, что

  1. данный документ является переводом документа «Hypertext Markup Language - 2.0 - Hyperlinks»;
  2. данный документ может содержать неточности, опечатки и ошибки перевода;
  3. официальным документом по данной тематике является оригинальный документ на английском языке, расположенный на сайте W3C.

Гиперссылки

В дополнение к элементам общего назначения, таким как абзацы и списки, HTML документы могут иметь гиперссылки. HTML агент пользователя позволяет пользователю перемещаться с помощью этих гиперссылок.

Гиперссылка -- это связь между двумя якорями, называемыми головой и хвостом гиперссылки [DEXTER]. Якоря определяются адресом якоря: абсолютный Унифицированный Идентификатор Ресурса (URI), за которым может следовать символ '#' и последовательность символов, называемая идентификатором фрагмента. Например:

http://www.w3.org/hypertext/WWW/TheProject.html
http://www.w3.org/hypertext/WWW/TheProject.html#z31

В адресе якоря, URI ссылается на ресурс; он может быть использован в различных протоколах информационного поиска, чтобы получить сущность, репрезентирующую ресурс, например, такой как HTML документ. Идентификатор фрагмента, если он присутствует, относится к какому-либо представлению или части ресурса.

Каждая из следующих конструкций разметки обозначает якорь хвоста гиперссылки или набора гиперссылок:

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

В случае с относительным URI, абсолютный URI, в адресе якоря головы является результатом объединения относительного URI с базовым абсолютным URI, как и в [RELURL]. Базовый адрес документа берётся из BASE элемента документа, если таковой элемент присутствует; в противном случае, он определяется, как и в [RELURL].

Доступ к Ресурсам

После того, как адрес якоря головы определён, агент пользователя может получить репрезентацию ресурса.

Например, если базовым URI является `http://host/x/y.html' и документ содержит:

<img src="../icons/abc.gif">

тогда агент пользователя использует URI `http://host/icons/abc.gif' чтобы получить доступ к ресурсу, указанному в этом [URL].

Активация Гиперссылок

HTML агент пользователя позволяет пользователю перемещаться по содержимому документа и запрашивать активацию гиперссылок, помеченных элементами A. HTML агентам пользователей следует также разрешить активацию гиперссылок элементов LINK.

При активации ссылки, агент пользователя получает репрезентацию о ресурсе, указанном в адресе якоря головы. Если происходит репрезентация другого HTML документа, то перемещение может начаться снова, но уже на этот новый документ.

Одновременное Представление Ресурсов Изображений

HTML агент пользователя может активировать гиперссылки, указанные в IMG и INPUT элементах одновременно с обработкой документа; то есть, гиперссылки изображений могут быть обработаны без явного запроса пользователя. Ресурсы изображений следует встраивать в представление в точке якоря хвоста, то есть на месте IMG или INPUT элемента.

Гиперссылки элементов LINK также могут быть обработаны без явного запроса пользователя; например, ресурсы таблиц стилей могут быть обработаны до или во время обработки документа.

Идентификаторы Фрагментов

Любые символы, следующие после символа `#' в гипертекстовом адресе составляют идентификатор фрагмента. В частности, адрес в виде `#fragment' относится к якорю, расположенному в том же документе.

Смысл идентификаторов фрагментов зависит от медиа типа ресурса, репрезентируемого якорем. Для `text/html' репрезентаций, он ссылается на элемент A с атрибутом NAME, значение которого совпадает с идентификатором фрагмента. Совпадение чувствительно к регистру. Документу следует иметь ровно один такой элемент. Агенту пользователя следует обозначить якорный элемент, например, путём прокрутки и/или выделением выразительной части.

Например, если базовым URI является `http://host/x/y.html' и пользователь активировал ссылку, обозначенную следующей разметкой:

<p> Смотрите: <a href="app1.html#bananas">приложение 1</a> 
для получения более подробной информации о бананах.

То агент пользователя получает доступ к ресурсу, определённому как `http://host/x/app1.html'. Предполагаемый ресурс репрезентирован с использованием медиа типа `text/html', поэтому агент пользователя должен найти элемент A, значением NAME атрибута которого является `bananas' и осуществить перемещение к нему.

Запросы и Индексы

Элемент ISINDEX репрезентирует набор гиперссылок. Пользователь может выбрать одну гиперссылку из набора, предоставляя ключевые слова агенту пользователя. Агент пользователя вычисляет итоговый URI, добавляя `?', а так же ключевые слова к базовому URI. Ключевые слова экранируются в соответствии с [URL] и присоединяются с помощью `+'. Например, если документ содержит:

<BASE HREF="http://host/index">
<ISINDEX>

и если пользователь предоставляет ключевые слова `apple' и `berry', то агент пользователя должен получить доступ к ресурсу `http://host/index?apple+berry'.

Элементы FORM с `METHOD=GET' также репрезентируют наборы гиперссылок. Смотрите раздел Запрос Формы: METHOD=GET для получения более подробной информации.

Карты Изображений

Если в IMG элементе присутствует атрибут ISMAP, то IMG элемент должен быть вложен в элемент A с указанным атрибутом HREF. Эта конструкция репрезентирует набор гиперссылок. Пользователь может выбрать одну гиперссылку из набора, путём выбора пикселя изображения. Агент пользователя вычисляет итоговый URI путём добавления знака `?', а так же «x» и «y» координат, рассчитанных в пикселях, к URI, заданному в элементе A. Например, если документ представляет собой:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<head><title>Пример Карты Изображения</title>
<BASE HREF="http://host/index"></head>
<body>
<p> Выберите любой из этих значков:<br>
<a href="/cgi-bin/imagemap"><img ismap src="icons.gif"></a>

и пользователь выбирает самый верхний, крайне левый пиксель, то URI-адресом, выбранной гиперссылки будет `http://host/cgi-bin/imagemap?0,0'.


Перейти к первому, предыдущему, следующему, последнему разделу, оглавлению.