2010-09-25 30 views

Trả lời

72

Code:

var now = new Date(); 
var time = now.getTime(); 
time += 3600 * 1000; 
now.setTime(time); 
document.cookie = 
'username=' + value + 
'; expires=' + now.toUTCString() + 
'; path=/'; 
+0

Cảm ơn - Tôi đã sử dụng .toGTMString - không nhận ra rằng nó không được dùng nữa! –

5

Bạn có thể viết này một cách nhỏ gọn hơn:

var now = new Date(); 
now.setTime(now.getTime() + 1 * 3600 * 1000); 
document.cookie = "name=value; expires=" + now.toUTCString() + "; path=/"; 

Và đối với một người như tôi, người lãng phí một giờ cố gắng tìm ra lý do tại sao cookie hết hạn chưa được thiết lập (nhưng không hết hạn có thể được thiết lập) trong Chrome, dưới đây là câu trả lời:

Vì một lý do lạ, nhóm Chrome đã quyết định bỏ qua cookie từ các trang địa phương. Vì vậy, nếu bạn làm điều này trên localhost, bạn sẽ không thể nhìn thấy cookie của bạn trong Chrome. Vì vậy, hãy tải nó lên máy chủ hoặc sử dụng một trình duyệt khác.

+0

Cách của bạn hoạt động rất kỳ lạ .... –

Các vấn đề liên quan