Bạn nên xác định đường dẫn mà cookie tồn tại để đảm bảo rằng bạn đang xóa đúng cookie.
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;';
}
Nếu bạn không chỉ định đường dẫn, trình duyệt sẽ đặt cookie liên quan đến trang bạn hiện đang truy cập, vì vậy nếu bạn xóa cookie trong khi ở một trang khác, cookie khác sẽ tiếp tục tồn tại.
Chỉnh sửa dựa trên nhận xét của @Evan Morrison.
Xin lưu ý rằng trong một số trường hợp để xác định cookie chính xác, Domain
tham số là bắt buộc.
Thông thường nó được định nghĩa là Domain=.yourdomain.com
.
Đặt một dấu chấm trước tên miền của bạn có nghĩa là cookie này có thể tồn tại trên bất kỳ tên miền phụ nào ( www
cũng được tính là tên miền phụ).
Ngoài ra, như được đề cập trong câu trả lời của @ RobertT, HttpOnly
cookie không thể bị xóa bằng JavaScript ở phía máy khách.
name
? Điểm của điều đó là gì? Hoặc nó là một hangover từ một phiên bản linh hoạt hơn cho phép bạn chỉ định tên cookie?