🗑️
JavaScriptですべてのCookieを削除する
すべてのcookieのmax-age
を0
にセットすることで全削除できる。TypeScriptも同じ書き方でおk。
function deleteAllCookies() {
const cookies = document.cookie.split(';')
for (let i = 0; i < cookies.length; i++) {
const cookie = cookies[i]
const eqPos = cookie.indexOf('=')
const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie
document.cookie = name + '=;max-age=0'
}
}
当然だがHttpOnlyなCookieにはクライアントのJavaScriptからアクセスができないので削除もできない。HttpOnlyなCookieを削除したいならサーバー側でmax-age=0
にセットしたcookieをクライアントに返すことになる。
Discussion