Làm thế nào để hết hạn một cookie trong 30 phút bằng jQuery?


121

Làm thế nào để hết hạn Cookie sau 30 phút? Tôi đang sử dụng cookie jQuery. Tôi có thể làm một cái gì đó như thế này.

$.cookie("example", "foo", { expires: 1 });

Điều này là trong 1 ngày. Nhưng làm thế nào chúng ta có thể đặt thời gian hết hạn thành 30 phút.

Câu trả lời:


235

30 phút là 30 * 60 * 1000mili giây. Thêm ngày đó vào ngày hiện tại để chỉ định ngày hết hạn 30 phút trong tương lai.

 var date = new Date();
 var minutes = 30;
 date.setTime(date.getTime() + (minutes * 60 * 1000));
 $.cookie("example", "foo", { expires: date });

6
Còn đối với các công trình cho hiện thân mới hơn: js-cookie
cssyphus

4

Nếu bạn đang sử dụng jQuery Cookie ( https://plugins.jquery.com/cookie/ ), bạn có thể sử dụng dấu thập phân hoặc phân số.

Như một ngày 1, sẽ là một phút 1 / 1440(có 1440 phút trong một ngày).

Vì vậy, 30 phút là 30 / 1440 = 0.02083333.

Mã cuối cùng:

$.cookie("example", "foo", { expires: 30 / 1440, path: '/' });

Tôi đã thêm path: '/'để bạn không quên rằng cookie được đặt trên đường dẫn hiện tại. Nếu bạn đang ở trên /my-directory/cookie chỉ được đặt cho chính thư mục này.


0

Tôi đã gặp sự cố khi mã trên hoạt động trong cookie.js. Mã sau được quản lý để tạo dấu thời gian chính xác cho việc hết hạn cookie trong trường hợp của tôi.

var inFifteenMinutes = new Date (new Date (). getTime () + 15 * 60 * 1000);

Đây là từ Câu hỏi thường gặp dành cho Cookie.js

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.