Anda harus menentukan jalur di mana cookie itu ada untuk memastikan bahwa Anda menghapus cookie yang benar.
function set_cookie(name, value) {
document.cookie = name +'='+ value +'; Path=/;';
}
function delete_cookie(name) {
document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
Jika Anda tidak menentukan jalurnya, browser akan menetapkan cookie relatif terhadap halaman yang sedang Anda kunjungi, jadi jika Anda menghapus cookie saat berada di halaman yang berbeda, cookie lainnya melanjutkan keberadaannya.
Edit berdasarkan komentar @Evan Morrison.
Perlu diketahui bahwa dalam beberapa kasus untuk mengidentifikasi cookie yang benar, Domain
diperlukan parameter.
Biasanya didefinisikan sebagai Domain=.yourdomain.com
.
Menempatkan titik di depan nama domain Anda berarti bahwa cookie ini mungkin ada di setiap sub-domain ( www
juga dianggap sebagai sub-domain).
Juga, seperti disebutkan dalam jawaban @ RobertT, HttpOnly
cookie tidak dapat dihapus dengan JavaScript di sisi klien.
name
? Apa gunanya itu? Atau itu hangover dari versi yang lebih fleksibel yang memungkinkan Anda menentukan nama cookie?