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

History

History

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

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

Свойства

readonly long length

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

Методы

void back()

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

history.go(-1);
void forward()

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

history.go(1);
void go([long delta])

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

void pushState(any data, string title, [string url])

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

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

void replaceState(any data, string title, [string url])

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

Оглавление книги


Генерация: 0.196. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз