En la pregunta, Persistir variables entre cargas de página , la respuesta aceptada dice que los datos almacenados en la window se conservan.
Dice,
La principal diferencia es que esta información se conserva no solo en las actualizaciones de la página, sino también en diferentes dominios. Sin embargo, está restringida a la pestaña actual en la que te encuentras.
Cuando intenté escribir en el objeto de la ventana desde la consola de desarrollo de Chrome y cuando navegué a otra página en el mismo dominio, los valores no se conservaron.
Esto es lo que hice:
window.testKey = "test-value"window.testKey en la consola devuelve undefined .Además, un caso simple de establecer un valor en la ventana seguido de una actualización de la página tampoco parece retener el valor.
¿Qué me estoy perdiendo?
La parte que citas:
La principal diferencia es que esta información se conserva no solo en las actualizaciones de la página, sino también en diferentes dominios. Sin embargo, está restringida a la pestaña actual en la que te encuentras.
Se trata solo de window.name , que es una propiedad especial, y esto todavía funciona, hasta cierto punto, en los navegadores actuales.
Los navegadores modernos restablecerán
Window.namea una cadena vacía si una pestaña carga una página de un dominio diferente y restaurarán el nombre si se vuelve a cargar la página original (por ejemplo, seleccionando el botón "Atrás"). Esto evita que una página que no sea de confianza acceda a cualquier información que la página anterior pueda haber almacenado en la propiedad (potencialmente, la nueva página también podría modificar dichos datos, que luego podrían ser leídos por la página original si se recargara).
Al final, fue solo un truco y no debes confiar en su funcionalidad. Para el mismo dominio, tiene localStorage o sessionStorage