Historial
=========

La interfaz **`History`** (Historial) permite la manipulación del historial de sesiones del navegador, es decir, las páginas visitadas en la pestaña o marco en el que se carga la página actual.

Solo hay una instancia de `history` (es un *singleton*.) accesible a través del objeto global `history`.

**Nota:** Esta interfaz solo está disponible en el hilo principal de (`Window`). No se puede acceder a él en los contextos `Worker` o `Worklet` (en-US).

Propiedades de instancia
------------------------

*La interfaz `History` no hereda ninguna propiedad.*

`length` Read only 

Devuelve un `Integer` que representa el número de elementos en el historial de la sesión, incluida la página cargada actualmente. Por ejemplo, para una página cargada en una nueva pestaña, esta propiedad devuelve `1`.

`scrollRestoration` (en-US)

Permite que las aplicaciones web establezcan explícitamente el comportamiento de restauración de desplazamiento predeterminado en la navegación del historial. Esta propiedad puede ser `auto` o `manual`.

`state` (en-US) Read only 

Devuelve un valor `any` que representa el estado en la parte superior de la pila de historial. Esta es una forma de ver el estado sin tener que esperar un evento `popstate`.

Métodos de instancia
--------------------

*La interfaz `History` no hereda ningún método.*

`back()` (en-US)

Este método asíncrono va a la página anterior en el historial de la sesión, la misma acción que cuando el usuario hace clic en el botón `Atrás` del navegador. Equivalente a `history.go(-1)`.

Llamar a este método para volver más allá de la primera página en el historial de la sesión no tiene ningún efecto y no genera una excepción.

`forward()` (en-US)

Este método asincrónico va a la página siguiente en el historial de la sesión, la misma acción que cuando el usuario hace clic en el botón `Adelante` del navegador; esto es equivalente a `history.go(1)`.

Llamar a este método para avanzar más allá de la página más reciente en el historial de la sesión no tiene ningún efecto y no genera una excepción.

`go()` (en-US)

Carga asíncronamente una página del historial de la sesión, identificada por su ubicación relativa a la página actual, por ejemplo, `-1` para la página anterior o `1` para la página siguiente. Si especifica un valor fuera de los límites (por ejemplo, si especifica "-1" cuando no hay páginas visitadas anteriormente en el historial de la sesión), este método no tiene ningún efecto. Llamar a `go()` sin parámetros o un valor de `0` vuelve a cargar la página actual.

`pushState()`

Inserta los datos proporcionados en la pila del historial de la sesión con el título especificado (y, si se proporciona, la URL). El DOM trata los datos como opacos; puede especificar cualquier objeto de JavaScript que se pueda serializar. Tenga en cuenta que todos los navegadores, excepto Safari, actualmente ignoran el parámetro *title*. Para obtener más información, consulte Trabajar con la API History (en-US).

`replaceState()` (en-US)

Actualiza la entrada más reciente en la pila de historial para tener los datos, el título y, si se proporciona, la URL especificada. El DOM trata los datos como opacos; puede especificar cualquier objeto de JavaScript que se pueda serializar. Tenga en cuenta que todos los navegadores, excepto Safari, actualmente ignoran el parámetro *title*. Para obtener más información, consulte Trabajar con la API History (en-US).

Especificaciones
----------------

| Specification |
| --- |
| HTML Standard # the-history-interface |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* Objeto global `history`