На этом шаге рассмотрим способ организации внутренних и смешанных ссылок.
Во всех задачах на использование ссылок нам приходилось создавать несколько HTML-документов. Однако, наверняка, у некоторых из вас возникал вопрос: а можно ли создать ссылку, с помощью которой можно перейти к какой-то части этого же самого документа? Возьмите, например, любую книгу. Чтобы найти нужный материал, мы сначала обращаемся к оглавлению, а затем – к нужной странице этой же самой книги,номер которой нам стал известен из оглавления.
Можно ли организовать что-нибудь подобное в языке HTML? Оказывается, можно. Кроме ссылок на другие документы можно организовать ссылки на определенные части текущего документа. В этом случае мы должны решить две задачи:
Если вы знаете какой-нибудь язык программирования, то, наверняка, вспомните задание меток и операторы, позволяющие переходить на эти метки (например, GOTO). На практике это реализуется достаточно просто. Сначала обратимся к первому из перечисленных условий. Вспомним, что для создания ссылок мы использовали тэг <A>. Так вот, этот же тэг используется для создания метки, только вместо параметра HREF применяется параметр NAME:
Рис.1. Пример использования прараметра NAME
Между тэгами <A> и </A> ничего нет, потому что нам нужно просто пометить начало какого-то фрагмента HTML-документа. Таким образом, мы решили первую задачу.
Теперь переходим ко второй: нужно создать ссылку на эту метку. Для ее создания используется ранее изученная конструкция тэга <A>, которая применялась для организации обычных (внешних) ссылок, только меняется значение параметра HREF:
Рис.2. Пример использования внутренней ссылки
Символ # свидетельствует о том, что это обращение к внутренней ссылке. Мы решили вторую задачу.
Приведем общую структуру HTML-документа, содержащего внутренние ссылки:
. . . . . .
<!--Перечень внутренних ссылок -->
<A HREF=#имя1>Текст1</A><BR>
<A HREF=#имя2>Текст2</A><BR>
. . . . . .
<A NAME=имя1></A>
<!--Первая метка. -->
. . . . . .
<A NAME=имя2></A>
<!--Вторая метка. -->
. . . . . .
В заключение попробуем найти ответ на следующий вопрос: можно ли создать внешнюю (обычную) ссылку, при обращении к которой загружаемый HTML-документ просматривается в браузере не сначала, а с отмеченной позиции? Напомним, что при использовании внешней ссылки загружаемый HTML-документ браузер демонстрирует от его начала.
На этот вопрос также можно дать положительный ответ. Алгоритм создания такой ссылки отличается от рассмотренного ранее во втором шаге: значение параметра HREF тэга <A> должно содержать в себе как имя открываемого HTML-документа, так и имя метки, к которой нужно осуществить переход:
Рис.3. Пример использования параметра HREF
Таким образом, структура приложения, содержащего такие смешанные ссылки,
может быть следующей:
1)структура главного файла:
. . . . . .
<!--Перечень смешанных ссылок -->
<A HREF=f_pr.html#имя1>Текст1</A<BR>
<A HREF=f_pr.html#имя2>Текст2</A><BR>
. . . . . .
. . . . . .
<A NAME=имя1></A>
<!--Первая метка. -->
. . . . . .
<A NAME=имя2></A>
<!--Вторая метка. -->
. . . . . .
На следующем шаге мы рассмотрим несколько примеров использования ссылок.