Jquery.Cookie es un Plugin Jquery sencilloy ligiero para leer, escribir y borrar cookies. Empezamos con su installación incluyendo el escrípt después de la librería jQuery
<script src="/path/to/jquery.cookie.js"></script>
Utilización
Para crear una sesión persistente del cookie usamos $.cookie:
$.cookie('el_cookie', 'el_valor');
Si queremos crear cookies temporales, por ejemplo que acaben en 7 días:
$.cookie('el_cookie', 'el_valor', { expires: 7 });
Y crear cookies temporales, validos para toda la web:
$.cookie('el_cookie', 'el_valor', { expires: 7, path: '/' });
Ahora vamos a leer un cookie gracias a su nombre de identificación:
$.cookie('el_cookie'); // => "el_valor"
$.cookie('not_existing'); // => undefined
También podemos leer todos los cookies disponibles:
$.cookie(); // => { "el_cookie": "el_valor", "...quedan": "cookies" }
Y para borrar un cookie:
// Devuelve true cuando se encuentra el cookie
$.removeCookie('el_cookie');
// Misma ruta que hemos puesto para escribir el cookie...
$.removeCookie('el_cookie', { path: '/' });
Cuidado: cuando borramos un cookie debemos pasarle la misma ruta, el mismo dominio y todas las otras opciones que hemos usado cuando hemos insertado dicho cookie.
opción "raw":
De entrada el valor del cookie está "encoded/decoded" cuando escribimos/leemos, usando encodeURIComponent
/decodeURIComponent
. podemos sobrescribir este valor a true:
$.cookie.raw = true;
opción json:
Activación el almacenamiento automático de los objectos JSON pasados como valores del cookie. Por ejemplo JSON.stringify
and JSON.parse
:
$.cookie.json = true;
Otras opciones
Los atributos del Cookie pueden ser activados globalmente poniendo las propriedades del objecto $.cookie.defaults
o singularmente por cada llamada a $.cookie()
pasando un objecto plano a los argumentos de las opciones. Las opciones por llamada sobrescriben las opciones estandar.
caducidad
expires: 365
Define el tiempo de vida de un cookie. El valor puede ser un Number
(Número) que puede ser interpretado cómo días desde su creación, o como objecto fecha Date
. Si se omite, el cookie se activa como sesión normal.
path
path: '/'
Define la ruta donde el cookie es válido. Por entrada la ruta del cookie es la ruta de la página donde el cookie ha sido creado (standard browser behavior). Si quieres que séa disponible por istancia alrededor de todo el dominio debes usar path: '/'
.
Notas sobre el uso de Internet Explorer:
Debido a una obscura problemilla en el WinINET de la implementación InternetGetCookie, el document.cookie de IEno devuelve cookie si en el path se le pone un nombre de fichero.
(Detalle: Internet Explorer Cookie Internals (FAQ))
Esto significa que tampoco se puede poner ruta usando path: window.location.pathname
en caso haya nombre de fichero en ello como por ejemplo: /check.html
.
dominio
domain: 'example.com'
Define el dominio donde el cookie es valido. De entrada el dominio donde ha sido creado el dominio.
seguridad
secure: true
Si es true, la tansmisión del cookie requiere un protocól seguro (https). Default: false
.
Navigar, reescribir y descargar Jquery.Cookie in GitHub