Cómo utilizar cookies en JavaScript
Las cookies almacenan información de la aplicación en la unidad del usuario. Cuando un usuario visita un sitio web, la aplicación JavaScript puede utilizar una cookie para almacenar información para su uso futuro. Algunas cookies son bastante simples y almacenar el nombre del usuario o la fecha de la última visita del usuario. Otros galletas son bastante complejas y podrían almacenar información sobre el estado de la aplicación.
Una cookie podría poner un usuario nuevo a donde el usuario fue la última vez que la aplicación se activa. No importa cuán simple o compleja una cookie es, las técnicas básicas para trabajar con las cookies son los mismos.
Cómo configurar una cookie con JavaScript
Vale la pena crear funciones que asignar y consultar las cookies para que usted no tiene que escribir el mismo código en varias ocasiones. El siguiente ejemplo se acepta tres entradas: el nombre de la cookie, el valor de la cookie, y el número de días hasta que caduque:
función SetCookie (Nombre, Valor, caducidad)
{
// Crear una variable de fecha que contiene
// La fecha de caducidad.
var EXPDATE = new Date ();
si (Vencimiento! = null)
ExpDate.setDate (ExpDate.getDate () +
Vencimiento);
// Codificar los datos para su almacenamiento.
var cookievalue = escape (Valor) +
"; Expira =" + ExpDate.toUTCString ();
// Almacena la cookie.
document.cookie = Nombre + "=" + cookievalue;
}
Normalmente, deberá añadir los controles de entrada de datos a una función que va a utilizar en una variedad de situaciones. En este ejemplo se les deja a cabo por el bien de la claridad.
El código empieza por calcular la fecha de caducidad. Comienza creando un nuevo objeto Date, EXPDATE, y sumando el número de días hasta que la cookie expira a ella. Siempre piensa en la fecha de caducidad ya que más de una sugerencia de un absoluto. Un usuario puede configurar su navegador para eliminar las cookies cada vez que el navegador se cierra, o el usuario puede eliminar las cookies de forma manual en cualquier momento.
Para almacenar un valor de la cookie, debe escapar de ella - es decir, eliminar los espacios en blanco de la misma. El ejemplo se quitan los caracteres de espacio y luego agrega la fecha de caducidad. Supongamos que desea almacenar una cookie, nombre de usuario, con un valor de Juan.
Lo que usted termina con una cadena que contiene el nombre de usuario y fecha de vencimiento: Juan; expira = Sun, 08 de diciembre 2013 21:43:52 GMT. La cookie en realidad almacena en la propiedad document.cookie como nombre de usuario = John; expira = Sun, 08 de diciembre 2013 21:43:52 GMT.
¿Cómo conseguir una galleta
Suponiendo que el usuario ha guardado las cookies de su aplicación creado, es necesario recuperarlas antes de que pueda hacer uso de los datos que contienen. Los valores se almacenan en el disco como pares nombre / valor. Los datos se escapó, lo que hace que sea fácil de almacenar, pero imposible de leer. El siguiente código muestra cómo recuperar todas las cookies, la búsqueda de una cookie específica, y luego hacer que los datos legibles:
función GetCookie (Nombre)
{
// Obtener todas las cookies y división
// Ellos en galletas individuales.
Galletas var = document.cookie.split (";");
// Procesar cada galleta a su vez.
for (var i = 0; i <Cookies.length; i ++)
{
// Obtener el nombre de la cookie.
var CName = Galletas [i] .substr (0,
Galletas [i] .indexOf ("="));
// Obtener el valor de la cookie.
var cValue = Galletas [i] (.substr
Galletas [i] .indexOf ("=") + 1);
// Reemplazar cualquier caracteres escaparon.
CName = CName.replace (/ ^ \ s + | \ s + $ / g, "");
// Si el nombre de la cookie coincide con el
// Nombre que fue aprobada por la persona que llama, el regreso
// La cookie asociada.
si (nombre == CName)
{
volver unescape (cValue);
}
}
// Devuelve un valor nulo cuando no se encuentra el cookie.
devolver null;
}
Las cookies se almacenan como una cadena larga donde cada galleta está separada de la siguiente por un punto y coma (;). El ejemplo utiliza la función split () para convertir esta cadena en una matriz de cookies individuales. En este punto, el código puede procesar las galletas de una en una.
Cada cookie se almacena como un par nombre / valor. El código empieza por recuperar el nombre, y luego el valor, el uso de funciones de manipulación de cadenas. Otra forma de realizar la misma tarea es utilizar la función de división () de nuevo con igual (=) como el delimitador. A continuación, busque el nombre en el primer elemento de la matriz y el valor en el segundo elemento de la matriz.
Ahora tiene un nombre y un valor escapado. El código quita los caracteres de escape en el nombre de la cookie para que se pueda realizar una comparación directa con el nombre que se pasa a la función. Cuando los nombres coinciden, el código devuelve el valor a la persona que llama.
Cómo comprobar una cookie con JavaScript
El GetCookie () y SetCookie () funciones hacen que sea fácil trabajar con las cookies mediante JavaScript. Este ejemplo rastrea el nombre del usuario. Cuando el sistema no tiene el nombre del usuario almacenado, la aplicación le pregunta por ella y lo almacena para su uso posterior como se muestra en el siguiente ejemplo:
checkname función ()
{
// Obtener el nombre del usuario.
var username = GetCookie ("nombre de usuario");
// Buscar un nombre de usuario.
if ((Nombre de usuario == null) || (nombre de usuario == ""))
{
// Obtener un nombre de usuario del usuario.
Nombre de usuario = prompt ("Por favor escriba su nombre:");
// Establecer una cookie para el nombre de usuario que va a
// Expirará en un año.
SetCookie ("nombre de usuario", Nombre de usuario, 365);
}
más
{
// En caso contrario, extender el mensaje.
Nombre de usuario = "Volver" + Nombre de Usuario;
}
// Mostrar nombre en la pantalla del usuario.
var SetName = document.getElementById ("Nombre");
SetName.innerHTML = Nombre de usuario;
}
La función comienza por intentar obtener la cookie almacenada. Cuando no hay galletas de conseguir, la función devuelve un valor nulo. Un usuario también puede optar por simplemente pulse Intro cuando se le preguntó por un nombre. Esto daría lugar a un valor en blanco. El código también comprueba para un espacio en blanco y le pide al usuario que introduzca un nombre nuevo.
Cuando hay un nombre guardado en la unidad, el código modifica el mensaje en pantalla para reflejar este hecho. Por lo tanto, si este es un nuevo usuario, el mensaje dice Nombre Bienvenido, pero si se trata de un usuario registrado, dice Welcome Back Nombre. El punto es que usted tiene un método sencillo para detectar rendimientos frente a las nuevas entradas.
Artículos relacionados
- Cómo utilizar objetos de JavaScript para la Integración HTML
- Cómo utilizar getElementById de JavaScript para acceder a un elemento específico
- Cómo utilizar HTML5 y Javascript para LONA Su Página Web
- ¿Por qué debería utilizar AJAX con JavaScript en una página HTML5
- Cómo utilizar texto para Integrar JavaScript con HTML
- ¿Cómo puedo borrar las cookies de mi ordenador?
- Hacer una pieza central de la galleta de la guirnalda para su fiesta de Navidad
- ¿Qué es el pastel de queso Mascarpone?
- Cómo Utilizar el objeto XMLHttpRequest en JavaScript