外部サイトにいて、JavaScript 経由で Cookie を削除しようとしています。
コンソールで次の操作を実行しました。
function deleteAllCookies() {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
}
deleteAllCookies()
ドキュメントクッキーの有効期限を1970年に設定することになっている
しかしその後、私は
document.cookie.split(";")
クッキーはそのままのようです。なぜだと思いますか?
PS: 上記のコードはstackoverflowから引用したものですJavaScript ですべての Cookie を消去する
ベストアンサー1
新しい値を設定するときに、削除しようとしている元の Cookie のパスとドメインと一致する必要があるため、Cookie が削除されない可能性が高くなります。
言い換えると:
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=[something];"
その「何か」の値は、既存の Cookie で設定されているものと一致する必要があります。
JS デバッガーではパスとドメインに関する詳細は提供されない可能性がありますが、Chrome -> 設定または Firefox/Safari/IE の同様のパネルで既存の Cookie の値を調べると、どれが一致していないかが明らかになります。
それが役に立つかどうか教えてください。