History

We use cookies. Read the Privacy and Cookie Policy

журнал посещений объекта 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.