好程序員web前端分享js實現實戰案例

好程序員web前端分享js實現實戰案例,實際開發中有要求用戶一些行爲天天一次,第二天開始從新回覆功能,通常前端都是經過cookie來記住用戶的操做,而後進行判斷當日是否還有機會,這時候須要給存儲的cookie值一個有效期,讓第二天自動失效,從新計數,代碼以下:javascript

cookie = {前端

/**
 * 獲取cookie
 */
get: function (name) {
    var cookieName = encodeURIComponent(name) + ‘=‘,
        cookieStart = document.cookie.indexOf(cookieName),
        cookieValue = null;
    if (~cookieStart) {
        var cookieEnd = document.cookie.indexOf(‘;‘, cookieStart);
        if (!~cookieEnd) {
            cookieEnd = document.cookie.length;
        }
        cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
    }
    return cookieValue;
},
/**
 * 設置cookie
 */
set: function (name, value, expires, path, domain, secure) {
    var cookie = encodeURIComponent(name) + ‘=‘ + encodeURIComponent(value);
    expires instanceof Date && (cookie += ‘; expires=‘ + expires.toGMTString());
    path && (cookie += ‘; path=‘ + path);
    domain && (cookie += ‘; domain=‘ + domain);
    secure && (cookie += ‘; secure‘);
    document.cookie = cookie;
},
/**
 * 刪除cookie
 * javascript裏,沒有提供直接刪除cookie的api,只有經過將過時時間,
 * 設置成過去的某個時間,讓cookie過時,來刪除。
 */
del: function (name, path, domain, secure) {
    this.set(name, ‘‘, new Date(0), path, domain, secure);
}

}java

下面是存儲cookie並設置有效期:程序員

//cookie過時時間,第二天凌晨
var expires = new Date(new Date(new Date().getTime() + 3024 60 60 1000).setHours(0, 0, 0, 0));web

//須要存儲的cookie值
var value=‘100‘
cookie.set("key", value, expires);api

相關文章
相關標籤/搜索