117 votes

J'ai besoin de récupérer tous les cookies du navigateur.

J'ai besoin d'obtenir tous les cookies stockées dans mon navigateur à l'aide de JavaScript. Comment cela peut-il être fait ?

95voto

aemkei Points 4602

Vous ne pouvez accéder aux cookies que pour un site spécifique. Utilisation de document.cookie vous obtiendrez une liste de paires clé=valeur échappées, séparées par un point-virgule.

secret=do%20not%20tell%you;last_visit=1225445171794

Pour simplifier l'accès, vous devez analyser la chaîne de caractères et supprimer toutes les entrées :

var getCookies = function(){
  var pairs = document.cookie.split(";");
  var cookies = {};
  for (var i=0; i<pairs.length; i++){
    var pair = pairs[i].split("=");
    cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
  }
  return cookies;
}

Donc vous pourriez écrire plus tard :

var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"

48voto

Franci Penov Points 45358
  1. Vous ne pouvez pas voir les cookies des autres sites.
  2. Vous ne pouvez pas voir HttpOnly cookies.
  3. Tous les cookies que vous pouvez voir sont dans le document.cookie qui contient une point-virgule liste séparée de name=value paires.

34voto

PhiLho Points 23458

Vous ne pouvez pas. Par conception, à des fins de sécurité, vous ne pouvez accéder qu'aux cookies définis par votre site. StackOverflow ne peut pas voir les cookies définis par UserVoice ni ceux définis par Amazon.

13voto

Codeslayer Points 2041

Pour récupérer tous les cookies pour le document actuel ouvert dans le navigateur, vous utilisez à nouveau la fonction document.cookie propriété.

4voto

Prabu samvel Points 1316

Approche moderne.

let c = document.cookie.split(";").reduce( (ac, cv, i) => Object.assign(ac, {[cv.split('=')[0]]: cv.split('=')[1]}), {});

console.log(c);

;)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X