2009-09-02 14 views
10

¿Es posible mantener mis variables (globales) cuando la página se vuelve a cargar? Si es así, ¿cómo?Evite la pérdida de variables cuando se presiona el botón de recarga del navegador

Gracias por cualquier ayuda. Saludos cordiales.

+1

Lo siento si estoy siendo muy exigente, pero su terminología parece no ser estándar. ¿Qué se puede prevenir acerca de una "variable de matriz global"? Además, ¿qué es un botón de reinicio del navegador? –

+0

¿Tiene algún código para ilustrar a qué se refiere? –

+0

lo siento ... tienes razón me refiero a "prevenir para inicializar el valor o restablecer". En otras palabras; Quiero proteger mi valor global y usarlo en las próximas operaciones. Gracias. Saludos cordiales. –

Respuesta

2

El entorno de JavaScript se restablecerá cuando el navegador salga de la página. Sin embargo, puede registrar un controlador onUnload para serializar su matriz en una cookie, luego verifique esto cada vez que la página se cargue y deserialícelo si está presente.

+0

Hola Adam, ¿Qué sucede cuando se presiona el botón de reinicio del navegador? –

+0

Intento resolver este problema sin utilizar cookies. –

1

¿Tiene su navegador un botón de reinicio, o se refiere al botón de recarga?

Cuando se carga la página, todo se carga en fresco. No queda nada de ninguna página anterior. El único lugar para almacenar todo lo que sobrevive al cargar una página está en una cookie.

Tenga en cuenta que la cantidad de datos que puede poner en las cookies está limitada a unos pocos kilobytes por sitio. El límite exacto varía de un navegador a otro, pero no se puede esperar que sea capaz de poner más de tal vez un kilo o dos de datos en las cookies.

+0

Sí botón de recarga ... Muchas gracias Guffa ... Saludos cordiales. –

4

Puede persistir datos a través de cargas de una página a través de algo así como window.localStorage, window.sessionStorage (extensión de Mozilla propietaria) o abstracción de base de datos (window.openDatabase) proporcionada por algunos de los navegadores WebKit -basado. Consulte this article on MDC para obtener una descripción general de las interfaces de almacenamiento y this WebKit article en la introducción de su base de datos.

+0

Muchas gracias Kangax ... es muy interesante. ¿Qué navegadores están basados ​​en Webkit? –

+0

ABrowse, Navegador web para Android, Arora, Google Chrome, Epiphany, iCab, Iris Browser, Midori, OmniWeb, rekonq, Safari, Shiira, Skipstone, Sputnik para MorphOS, SRWare Iron, Inoxidable, Sunrise, TeaShark, navegador web para S60, WebOS:) (Ver http://en.wikipedia.org/wiki/List_of_web_browsers#WebKit-based_browsers) – kangax

0

¿Estás hablando de cookies? Si es así, es posible que desee revisar this open-source module

Esto le permitirá almacenar cookies fácilmente, es decir, datos, incluso después de que un navegador vuelva a cargar haga clic. Esto hace que sea realmente fácil y es lo que uso.

var cookie = new HTTP.Cookies(); 
cookie.write('mydata', 'myvalue', '+1y'); 

//later on you can get that data EVEN AFTER a reload 
var x = cookie.read('mydata'); 

Es probable que no debe tratar de hacer una aplicación galletas desde cero, ya que aunque es muy doloroso y hay que hacer un montón de pruebas a través de navegadores web, como para asegurarse de que funciona Internet Explorer.

3

En el mismo estilo, puede almacenar valores de cadena en la tecla de almohadilla.

El uso de la propiedad:

window.location.hash = 'flight/105';

Luego, cuando actualizar la página de inicializar las variables de vuelta.

8

Probar este cookie-less javascript function.

Básicamente, almacena tus datos en la propiedad window.name que no borra el valor cuando recargas la página o va a otro sitio.

+0

funcionó perfectamente, tyvm –

Cuestiones relacionadas