Hướng dẫn nhanh cách tạo, sử dụng và xóa Cookie trong Javascript

by 4:59:00 PM 0 nhận xét

Giải đáp nhanh

Trả lời

Cookie là một dạng lưu trữ data trên trình duyệt dù cho người dùng đã tắt trình duyệt đi. Cookie thường chỉ cho phép lưu trữ một lượng hạn chế data nên việc lưu trữ này đa phần sử dụng cho lưu trữ setting người dùng, thông tin đăng nhập, form...
Sau đây là cách tạo và sử dụng Cookie:

1 - Cách tạo: Viết một hàm tạo cookie có tên createCookie
var createCookie = function(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

- Trong hàm createCookie  sẽ truyền vào các biến name: tên cookie, value: giá trị, days: Số ngày lưu ở trình duyệt.

- Sau đó tạo một hàm getCookie truyền vào biến c_name ( là tên của cookie bạn đã đặt khi sử dụng hàm tạo cookie )
function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}
 2- Cách dùng:
 - Tạo một Cookie mới: Ví dụ tạo một Cookie có tên myCookie
var myValue = 'Test';
var myTime = 'Thu, 01 Jan 2016 00:00:00 UTC';
createCookie('myCookie', myValue, myTime);
- Sau đó gọi lại để sử dụng giá trị vừa lưu:
var myValueSaved = getCookie('myCookie');
Như vậy giá trị biến myValueSaved nhận được sẽ là "Test";

3- Xóa cookie:
- Để xóa cookie vừa tạo bạn chỉ cần gọi lại hàm createCookie truyền tên cookie muốn xóa và cho giá trị rổng và reset lại ngày lưu là đc:
var nullValue = '';
var resetTime = 'Thu, 01 Jan 1970 00:00:00 UTC';
createCookie('mycookie', nullValue , resetTime );
Hoặc khi người dùng muốn xóa thì chỉ cần vào phần xóa cache và cookie để xóa.

Rất đơn giản phải không nào? Chúc các bạn thành công!

Nếu câu trả lời sai ngại gì không chỉnh? Nếu câu trả lời thiếu ngại gì không thêm? Nếu có câu trả lời hay hơn ngại gì không chia sẻ? Mời các bạn comment bên dưới


Thảo luận

0 nhận xét:

Post a Comment