2011-10-24 41 views
14

Ai đó có thể cập nhật mã sau để làm cho cookie hết hạn sau 30 giây.Đặt cookie hết hạn sau 30 giây

function setCookie(c_name, value, exdays) { 
    var exdate = new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString()); 
    document.cookie = c_name + "=" + c_value; 
} 
+3

Vậy ... bạn đã thực hiện một sao chép/dán tắt w3schools ... Quirksmode có giải thích tốt hơn về cookie trong JavaScript: http://www.quirksmode.org/js/cookies.html – CD001

+0

Bạn đang cố gắng làm gì? Tại sao bạn muốn nó hết hạn nhanh như vậy? –

+0

@ Jason Có thể đôi khi bạn chỉ muốn chuyển dữ liệu giữa các trang mà không gửi thông tin đó qua dây. Trong những trường hợp như vậy, một cookie hết hạn nhanh chóng thực hiện một công việc tốt. – TyMayn

Trả lời

29
function createCookie(name, value) { 
    var date = new Date(); 
    date.setTime(date.getTime()+(30*1000)); 
    var expires = "; expires="+date.toGMTString(); 

    document.cookie = name+"="+value+expires+"; path=/"; 
} 
+0

Tại sao chúng tôi đang sử dụng toGMTString() hết hạn? Có lý do cụ thể nào không? –

0

Bạn có thể sử dụng max-age khi thiết lập một cookie, mà kết quả trong mã đơn giản hơn:

function setCookie(name, value, maxAgeSeconds) { 
    var maxAge = "; max-age=" + maxAgeSeconds; 
    document.cookie = encodeURI(name) + "=" + encodeURI(value) + maxAge; 
} 
Các vấn đề liên quan