habilitar - ¿Persiste las variables javascript en las páginas?
como activar javascript en mi celular (7)
Para completar, también busque en las capacidades de almacenamiento local y sessionStorage de HTML5. Estos son compatibles con las últimas versiones de todos los navegadores modernos, y son mucho más fáciles de usar y menos complicados que las cookies.
http://www.w3.org/TR/2009/WD-webstorage-20091222/
Aquí hay algunos ejemplos de código para establecer y obtener los valores usando sessionStorage y localStorage:
// HTML5 session Storage
sessionStorage.setItem("variableName","test");
sessionStorage.getItem("variableName");
//HTML5 local storage
localStorage.setItem("variableName","Text");
// Receiving the data:
localStorage.getItem("variableName");
Esta pregunta ya tiene una respuesta aquí:
- Persistir variables entre carga de página 4 respuestas
¿Hay alguna manera de que podamos persistir las variables de JavaScript en varias páginas? Supongamos que en la página AI estoy configurando window.someVar = 5
. Luego me muevo a la página B, al hacer clic en un hipervínculo en A, y hago algo como alert(window.someVar)
- Debería obtener un cuadro de mensaje que muestre 5. ¿Existe alguna técnica para persistir en someVar
...?
Puede conservar los valores utilizando almacenamiento HTML5, almacenamiento Flash o Gears. La biblioteca de almacenamiento de dojo proporciona una buena envoltura para esto.
Puede usar http://rhaboo.org como un contenedor alrededor de localStorage. Almacena objetos complejos, pero no se limita a codificar y analizar todo como lo hacen la mayoría de esas bibliotecas. Eso es realmente ineficiente si desea almacenar una gran cantidad de datos y agregarlos o cambiarlos en pequeños fragmentos. Además, JSON descarta muchas cosas importantes, como las propiedades no numéricas de las matrices.
En rhaboo puedes escribir cosas como esta:
var store = Rhaboo.persistent(''Some name'');
store.write(''count'', store.count ? store.count+1 : 1);
var laststamp = store.stamp ? store.stamp.toString() : "never";
store.write(''stamp'', new Date());
store.write(''somethingfancy'', {
one: [''man'', ''went''],
2: ''mow'',
went: [ 2, { mow: [''a'', ''meadow'' ] }, {} ]
});
store.somethingfancy.went[1].mow.write(1, ''lawn'');
console.log( store.somethingfancy.went[1].mow[1] ); //says lawn
Por cierto, escribí Rhaboo
Puede usar el nombre de la ventana window.name
para almacenar la información. Esto se conoce como sesión de JavaScript . Pero solo funciona siempre que se use la misma ventana / pestaña.
Recomiendo almacenamiento web. Ejemplo:
// Storing the data: localStorage.setItem("variableName","Text"); // Receiving the data: localStorage.getItem("variableName");
Simplemente reemplace la variable
con su nombre de variable y text
con lo que desea almacenar. Según W3Schools, es mejor que las cookies.
Sí, usando Cookies . Pero ten cuidado, no pongas demasiado en ellos (creo que hay un límite en 4kb). Pero algunas variables están bien.
Si necesita almacenar mucho más que eso, revise los excelentes consejos de @ Annie en la otra respuesta. Para el almacenamiento de datos a pequeña escala, diría que las cookies son lo más fácil.
Tenga en cuenta que las cookies se almacenan en el lado del cliente.
Te recomendaría que le eches un vistazo a esta biblioteca:
Me gusta mucho, es compatible con una variedad de back-end de almacenamiento (desde cookies hasta almacenamiento HTML5, Gears, Flash, y más ...), su uso es realmente transparente , no necesita saber ni importar qué back-end se usa. la biblioteca elegirá el back-end de almacenamiento adecuado según las capacidades del navegador.