Comment puis-je lister tous les cookies pour la page actuelle avec Javascript?

Existe-t-il un moyen de créer, avec l'aide de Javascript, tous les cookies associés à la page actuelle? C'est-à-dire, si je ne connais pas les noms des cookies, mais je souhaite récupérer toutes les informations qu'ils contiennent.

Vous pouvez répertorier les cookies pour le domaine actuel:

 function listCookies() { var theCookies = document.cookie.split(';'); var aString = ''; for (var i = 1 ; i <= theCookies.length; i++) { aString += i + ' ' + theCookies[i-1] + "\n"; } return aString; } 

Mais vous ne pouvez pas énumérer les cookies pour d'autres domaines pour des raisons de sécurité

 var x = document.cookie; window.alert(x); 

Cela affiche tous les cookies auxquels le site actuel a accès. Si vous avez par exemple créé deux cookies "username = Frankenstein" et "username = Dracula", ces deux lignes de code afficheront "username = Frankenstein; username = Dracula". Cependant, des informations telles que la date d'expiration ne seront pas affichées.

(Pour le domaine, pas la page en tant que point de départ)

http://snipplr.com/view/15641/list-cookies-in-javascript/

Non, il n'y en a pas. Vous ne pouvez lire que les informations associées au domaine actuel.

Non.

Les seuls navigateurs API vous permettent de gérer les cookies en les obtenant et en les fixant via des paires de valeurs-clés. Tous les navigateurs gèrent les cookies uniquement par le nom de domaine .

L'accès à tous les cookies pour le domaine actuel se fait via document.cookie .

Cette fonction renverra tous les cookies en tant qu'objet imbriqué:

 getDocumentCookies = function() { var theCookies = document.cookie.split(';'), cookieObj = {}, tmp, tmpName, tmpVal; for (var i = 1 ; i <= theCookies.length; i++) { tmp = theCookies[i-1].split('='); if ( tmp[0] !== undefined && tmp[1] !== undefined ) { tmpName = decodeURIComponent(tmp[0].trim()); tmpVal = decodeURIComponent(tmp[1].trim()); if ( tmpName.indexOf('[') > -1 && tmpName.indexOf(']') > -1 ) { cookieObj[tmpName.split('[')[0]] = cookieObj[tmpName.split('[')[0]] || {}; cookieObj[tmpName.split('[')[0]][tmpName.split('[')[1].replace(']', '')] = tmpVal; } else { cookieObj[tmpName] = tmpVal; } } } return cookieObj; };