web-dev-qa-db-ja.com

document.cookieはどのように機能しますか?

Chromeを表示するにはdocument.cookieコンソールに移動してdocument.cookie;それは私に言うでしょう:

"name=John; gender=male";

しかし、たとえば、document.cookie = 5;追加するだけです5;を文字列の先頭に追加すると、次のようになります。

"5; name=John; gender=male";

document.cookie = null;それでは何もしません。

どうすればいいの?それは変数ですよね?では、なぜ代入演算子が本来の方法で機能しないのでしょうか。それは実際には、実際の変数ではなく、単なる構文上の砂糖ですか?もしそうなら、砂糖は正確に何を覆っていますか?

33
Jack M

document.cookieには非常に特別な動作があります。ご覧のとおり、replaceingallではなく、Cookie(または複数のCookie)をadds(または更新)に割り当てますクッキーの。それは非常に珍しいです。

それに関するすべてを [〜#〜] mdn [〜#〜] で読んでください。

32
T.J. Crowder

MDNを見ていないのはなぜですか?

document.cookiesへの代入演算子の右側の文字列は、セミコロンで区切られたキーと値のペアのリストである必要があります。つまり、document.cookie = "aKey=5"aKey Cookieを設定/更新します。

つまり、document.cookieは特別な動作を示します。

6

これは、「 issue 」の例です。また、次のように書かれています。

有効期限をゼロに更新するだけで、Cookieを削除できます。

3
Sascha Galley