--- title: document.cookie slug: Web/API/Document/cookie tags: - NeedsContent translation_of: Web/API/Document/cookie original_slug: DOM/document.cookie ---

{{ApiRef("DOM")}}

Resumen

Con document.cookie se obtienen y definen las cookies asociadas con el documento.

Sintaxis

Leer todas las cookies accesibles desde una localización

todasLasCookies = document.cookie;

En el código anterior todasLasCookies es una cadena que contiene una lista de todas las cookies separadas por punto y coma (en pares clave=valor). Tenga en cuenta que clave y valor pueden estar rodeadas por espacios en blanco (caracteres espacio y tabulación): de hecho RFC 6265 especifica que debe haber un espacio en blanco después de cada punto y coma (;), pero algunos agentes de usuario no son muy estrictos con esto.

document.cookie = nuevaCookie;

En el código anterior, nuevacookie es una cadena de la forma clave=valor. Tenga en cuenta que solo se puede crear o actualizar una cookie de cada vez mediante este método. Considere también que:

Nótese que previamente a Gecko 6.0 {{ geckoRelease("6.0") }}, rutas que contenían comillas eran tratadas como si las comillas fueran parte de la cadena, en lugar de considerarse como un delimitador de la ruta actual. Esto ya ha sido arreglado.

Ejemplos

Ejemplo # 1: Uso sencillo

document.cookie = "nombre=oeschger";
document.cookie = "comida_preferida=tripa";
function alertCookie() {
  alert(document.cookie); // visualizar: nombre=oeschger;comida favorita=tripa

}
<button onclick="alertCookie()">Mostrar cookies</button>

{{EmbedLiveSample('Example_1_Simple_usage', 200, 36)}}

document.cookie = "test1=Hola";
document.cookie = "test2=Mundo";

var cookieValor = document.cookie.replace(/(?:(?:^|.*;\s*)test2\s*\=\s*([^;]*).*$)|^.*$/, "$1");

function alertCookieValue() {
  alert(cookieValor);
}
<button onclick="alertCookieValue()">Mostrar valor de cookie</button>

{{EmbedLiveSample('Example_2_Get_a_sample_cookie_named_test2', 200, 36)}}

Ejemplo #3: Hacer algo una sola vez

De manera a usar el siguiente código, favor remplace todas las veces la palabra hacerAlgoUnaSolaVez (el nombre de la cookie) con un nombre personalizado.

function hazUnaVez() {
  if (document.cookie.replace(/(?:(?:^|.*;\s*)hacerAlgoUnaSolaVez\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") {
    alert("Hacer algo aquí!");
    document.cookie = "hacerAlgoUnaSolaVez=true; expires=Fri, 31 Dec 9999 23:59:59 GMT";
  }
}
<button onclick="dhacerUnaVez()">Solo hacer algo una vez</button>

{{EmbedLiveSample('Example_3_Do_something_only_once', 200, 36)}}

Seguridad

Es importante mencionar que la restricción path no protege contra la lectura no autorizada de cookies de una ruta distinta. Puede ser fácilmente resuelto mediante DOM (por ejemplo creando un iframe oculto con la ruta de la cookie y accediendo a la propiedad contentDocument.cookie del iframe). La única manera de proteger el acceso a cookies es ocupando un dominio o subdominio diferente, debido a la política de mismo origen.

Notas

Especificación

DOM Level 2: HTMLDocument.cookie