¿Cómo puedo crear y leer un valor de una cookie en JavaScript?
javascript
cookies
Venkatesh Appala
fuente
fuente
Respuestas:
Aquí hay funciones que puede usar para crear y recuperar cookies.
fuente
Enfoque minimalista y con todas las funciones de ES6:
fuente
toGMTString()
está en desuso, úselo en sutoUTCString()
lugar.=
signos. En ese caso, la funcióngetCookie
producirá un resultado inesperado. Para evitar eso, considere usar el siguiente cuerpo de función de flecha dentro de reducirconst [n, ...val] = v.split('='); return n === name ? decodeURIComponent(val.join('=')) : r
864e5 = 86400000 = 1000*60*60*24
representa el número de milisegundos en un día de 24 horas.Cookies JQuery
o Javascript simple:
fuente
Mozilla proporciona un marco simple para leer y escribir cookies con soporte completo Unicode junto con ejemplos de cómo usarlo.
Una vez incluido en la página, puede configurar una cookie:
leer una cookie:
o eliminar una cookie:
Por ejemplo:
Vea más ejemplos y detalles en la página del documento de Mozilla. .
Una versión de este simple archivo js está en github .
fuente
ES7, usando una expresión regular para get (). Basado en MDN
Uso - Cookie.get (nombre, valor [, opciones]):
opciones admite todas las opciones de cookies estándar y agrega "días":
Formas alternativas de establecer la caducidad:
La fecha actual se puede obtener con: new Date (Date.now ()). ToUTCString ()
Otras respuestas usan "caduca" en lugar de "max-age" para admitir versiones anteriores de IE. Este método requiere ES7, por lo que IE7 está fuera de todos modos (esto no es un gran problema).
Nota: los caracteres divertidos como "=" y "{:}" se admiten como valores de cookies, y la expresión regular maneja los espacios en blanco iniciales y finales (de otras bibliotecas).
Si desea almacenar objetos, codifíquelos antes y después con y JSON.stringify y JSON.parse, edite lo anterior o agregue otro método. P.ej:
fuente
Para aquellos que necesitan guardar objetos como {foo: 'bar'}, comparto mi versión editada de la respuesta de @ KevinBurke. He agregado JSON.stringify y JSON.parse, eso es todo.
Entonces, ahora puedes hacer cosas como esta:
fuente
Ya he usado la respuesta aceptada de este hilo muchas veces. Es un gran código: simple y utilizable. Pero generalmente uso babel y ES6 y módulos, así que si eres como yo, aquí hay un código para copiar para un desarrollo más rápido con ES6
Respuesta aceptada reescrita como módulo con ES6:
Y después de esto, simplemente puede importarlo como cualquier módulo (la ruta, por supuesto, puede variar):
fuente
Aquí hay un código para obtener, configurar y eliminar cookies en JavaScript .
Fuente: http://mycodingtricks.com/snippets/javascript/javascript-cookies/
fuente
Yo uso este objeto. Los valores están codificados, por lo que es necesario tenerlo en cuenta al leer o escribir desde el lado del servidor.
fuente
Manera simple de leer cookies en ES6.
fuente
He usado js-cookie para el éxito.
fuente
Puede usar mi módulo de cookies ES para obtener / configurar / eliminar cookies.
Uso:
En su etiqueta principal, incluya el siguiente código:
o
Ahora puede usar window.cookie para almacenar información del usuario en páginas web.
cookie.isEnabled ()
¿Está habilitada la cookie en su navegador web?
Ejemplo
cookie.set (nombre, valor)
Pon una galleta.
Ejemplo
cookie.get (nombre [, valor predeterminado]);
conseguir una galleta
Ejemplocookie.remove (nombre);
Eliminar la cookie
EjemploEjemplo de uso
fuente
Una versión mejorada de readCookie:
Esto debería romperse tan pronto como encuentre el valor de su cookie y devuelva su valor. En mi opinión muy elegante con el doble split.
El reemplazo en la condición if es un recorte de espacio en blanco, para asegurarse de que coincida correctamente
fuente
fuente
He escrito cookieUtils simples, tiene tres funciones para crear la cookie, leerla y eliminarla.
fuente
Aquí está el ejemplo de w3chools que se mencionó.
fuente
Una simple lectura
fuente
Una manera descarada y simple de leer una cookie podría ser algo como:
Esto podría ser utilizado si sabe que su cookie contiene algo como:
username="John Doe"; id=123;
. Tenga en cuenta que una cadena necesitaría comillas en la cookie. Probablemente no sea la forma recomendada, pero funciona para pruebas / aprendizaje.fuente