Web-инжиниринг

Hyper


Программируем гипертекстовые переходы

В разделах, посвященных программированию графики, показано, что картинку можно менять без перезагрузки всей HTML-страницы. К большому сожалению, изменить часть текста страницы без использования позиционированных слоев нельзя. Но, кроме графики, на странице есть еще несколько встроенных массивов объектов, элементы которых можно изменять. Одним из них является массив гипертекстовых ссылок.

Гипертекстовая ссылка относится к классу объектов URL. К этому классу объектов относятся:

  • location
  • area
  • link
  • Область применения URL на HTML-страницах гораздо шире этих трех позиций. Мы наиболее часто сталкиваемся с ним при программировании:

  • графики(атрибут src контейнера IMG)
  • форм(атрибут action контейнера FORM)
  • ссылок(атрибут href контейнера A)
  • "чувствительных" картинок(атрибут href контейнера AREA)
  • Первые две позиции подробно обсуждаются в разделах "Программируем картинки" и "Программируем формы". В данном разделе мы сосредоточимся на программировании собственно гипертекстовых переходов и "чувствительных" картинок. Но прежде рассмотрим объект URL.

    Объект URL



    Объект класса URL обладает свойствами, которые определены схемой URL. В качестве примера рассмотрим ссылку на применение атрибута src в контейнере IMG:

    document.write(document.links[3].href);

    Значения свойств:

    href:

    document.write(document.links[3].href);

    protocol:

    document.write(document.links[3].protocol);

    hostname:

    document.write(document.links[3].hostname);

    host:

    document.write(document.links[3].host);

    port:

    document.write(document.links[3].port);

    pathname:

    document.write(document.links[3].pathname);

    search:

    document.write(document.links[3].search);

    hash:

    document.write(document.links[3].hash);

    Обращение к свойству объекта класса URL выглядит как:


    имя_объект_класса_URL.свойство

    Например, так:

    document.links[0].href

    document.location.host

    document.links[2].hash

    Свойства объекта URL дают возможность программисту менять только часть URL объекта(гипертекстовой ссылки, например). Наиболее интересно это выглядит в объекте location, когда при изменении свойства происходит перезагрузка документа. Однако и при работе с обычными гипертекстовыми ссылками такая технология выглядит более предпочтительной, чем изменение всего URL целиком.

    Здесь следует заметить, что чаще всего все-таки меняют весь URL. Это связано с тем, что такое действие более понятно с точки зрения HTML-разметки. Ведь у контейнера A нет атрибута protocol, но зато есть атрибут href.


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