好程序員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