JavaScript. Подробное руководство, 6-е издание, стр. 494

Свойства

<b>readonly string newURL</b>

Это свойство хранит новое значение свойства

<b>location.href</b>
. Обратите внимание, что это полный URL-адрес, а не только идентификатор фрагмента.

<b>readonly string oldURL</b>

Это свойство хранит прежнее значение свойства

<b>location.href</b>
.

History

журнал посещений объекта Window

Объект

<b>History</b>
представляет историю посещений окна. Однако по соображениям безопасности объект
<b>History</b>
не позволяет получать из сценариев доступ к хранящимся в нем URL-адресам. Методы объекта
<b>History</b>
позволяют сценариям лишь перемещаться вперед и назад по истории посещений и добавлять в нее новые записи.

Свойства

<b>readonly long length</b>

Это свойство определяет количество URL-адресов в журнале (истории) посещений броузера. Знание размера этого списка не особенно полезно, поскольку нет способа определить индекс текущего отображаемого документа в этом списке.

Методы

<b>void back()</b>

В результате вызова метода

<b>back()</b>
окно или фрейм, которому принадлежит объект
<b>Histo</b>
<b>ry</b>
, заново открывает URL-адрес (если он есть), открытый непосредственно перед текущим. Вызов этого метода имеет тот же эффект, что и щелчок на кнопке Back броузера. Он также эквивалентен инструкции:

<b>history.go(-1);</b>

<b>void forward()</b>

В результате вызова метода

<b>forward()</b>
окно или фрейм, которому принадлежит объект
<b>History</b>
, заново открывает URL-адрес (если он есть), открытый непосредственно после текущего. Вызов этого метода имеет тот же эффект, что и щелчок на кнопке Forward броузера. Он также эквивалентен инструкции:

<b>history.go(1);</b>

<b>void go([long delta])</b>

Метод

<b>History.go()</b>
принимает целочисленный аргумент и вынуждает броузер открыть URL-адрес, отстоящий от текущего в журнале истории посещений на указанное число позиций. Положительное значение соответствует переходу вперед по истории посещений, а отрицательное - переходу назад. То есть вызов
<b>history.go(-1)</b>
эквивалентен вызову
<b>history.back()</b>
и имеет тот же эффект, что и щелчок на кнопке Back. При вызове с аргументом 0 или вообще без аргумента этот метод перезагрузит текущий документ.

<b>void pushState(any data, string title, [string url])</b>

Добавляет новую запись в журнал посещений для данного окна, сохраняя структурированную копию (см. врезку «Структурированные копии» в главе 22) данных

<b>data</b>
, а также значения
<b>title</b>
и
<b>url</b>
. Если позднее пользователь воспользуется механизмом истории посещений броузера, чтобы вернуться к этому сохраненному состоянию, в окне будет сгенерировано событие «popstate» и обработчику будет передан объект
<b>PopStateEvent</b>
с еще одной структурированной копией значения аргумента
<b>data</b>
в его свойстве
<b>state</b>
.

Аргумент

<b>title</b>
определяет имя сохраненного состояния, и броузеры могут отображать его в графическом интерфейсе управления историей посещений. (На момент написания этих строк броузеры игнорировали данный аргумент). Если указан аргумент url, он будет отображаться в строке ввода адреса и обеспечит сохранение информации о состоянии, благодаря чему его можно будет использовать для создания закладки или передачи другим пользователям. Аргумент url интерпретируется относительно текущего значения
<b>document location</b>
. Если в аргументе url указан абсолютный URL-адрес, он должен иметь то же происхождение, что и текущий документ. Чаще всего URL-адреса используются на практике для изменения идентификатора фрагмента документа, начинающегося с символа #.

<b>void replaceState(any data, string title, [string url])</b>

Этот метод похож на метод

<b>pushState(),</b>
за исключением того, что вместо создания новой записи в истории посещений окна он изменяет текущую запись, сохраняя в ней новые значения
<b>data, title</b>
и
<b>url</b>
.

HTMLCollection

коллекция HTML-элементов, доступных по позиции или по имени

Объект

<b>HTMLCollection</b>
- это подобный массиву объект, доступный только для чтения, содержащий объекты
<b>Element</b>
и определяющий свойства, соответствующие значениям атрибутов
<b>name</b>
и
<b>id</b>
хранящихся в нем элементов. Объект
<b>Document</b>
определяет свойства типа
<b>HTMLCollection</b>
, такие как
<b>forms</b>
и
<b>image</b>
.

Объекты

<b>HTMLCollection</b>
определяют методы
<b>item()</b>
и
<b>namedltem()</b>
для извлечения элементов по номеру позиции или имени, но они практически не используются на практике: объект
<b>HTMLCollection</b>
можно рассматривать как обычный объект и обращаться к его свойствам и элементам массива. Например:

<b>document.images[0] // По индексу элемента в коллекции HTMLCollection</b>

<b>document.forms.address // По имени элемента в коллекции HTMLCollection</b>

Свойства

<b>readonly unsigned long length</b>