javascript - 配列 - php cookie 取得




現在のページのすべてのCookieをJavascriptで一覧表示するにはどうすればよいですか? (5)

Javascriptの助けを借りて、現在のページに関連するすべてのクッキーをリストする方法はありますか? つまり、私がクッキーの名前を知らないが、それらに含まれるすべての情報を検索したい場合。



いいえ。

唯一のAPIブラウザでは、Cookieを処理するためのキーと値のペアを取得して設定します。 すべてのブラウザはドメイン名のみでCookie 処理します

現在のドメインのすべてのクッキーにアクセスするには、 document.cookieを使用しdocument.cookie


この関数はすべてのクッキーをネストしたオブジェクトとして返します:

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;
};

多くの人が既にdocument.cookieがあなたにすべてのクッキーを( http-onlyものを除いて)取得すると述べています。

私は時代に追いつくためのスニペットを追加するだけです。

document.cookie.split(';').reduce((cookies, cookie) => {
  let [ name, value ] = cookie.split('=').map(c => c.trim());
  cookies[name] = value;
  return cookies;
}, {});

スニペットは、Cookie値を持つキーとしてCookie名を持つオブジェクトを返します。


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

現在のサイトがアクセスできるすべてのCookieが表示されます。 たとえば、「username = Frankenstein」と「username = Dracula」という2つのクッキーを作成した場合、これらの2行のコードには「username = Frankenstein; username = Dracula」と表示されます。 ただし、有効期限などの情報は表示されません。





cookies