用js讀、寫、刪除Cookie代碼分享及詳細注釋說明
更新時間:2014年06月05日 09:39:24 作者:
JavaScript是運行在客戶端的腳本,因此一般是不能夠設置Session的,因為Session是運行在服務器端的。而cookie是運行在客戶端的,所以可以用JS來設置cookie. 下面我們來分析下案例
復制代碼 代碼如下:
//已經驗證過
// JavaScript Document
//使用說明:
//設置緩存:setCookie("name",value);
//獲取緩存:var name=getCookie("name");
//刪除緩存:delCookie("name");
///設置cookie
function setCookie(NameOfCookie, value, expiredays)
{
//@參數:三個變量用來設置新的cookie:
//cookie的名稱,存儲的Cookie值,
// 以及Cookie過期的時間.
// 這幾行是把天數轉換為合法的日期
var ExpireDate = new Date ();
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
// 下面這行是用來存儲cookie的,只需簡單的為"document.cookie"賦值即可.
// 注意日期通過toGMTstring()函數被轉換成了GMT時間。
document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}
///獲取cookie值
function getCookie(NameOfCookie)
{
// 首先我們檢查下cookie是否存在.
// 如果不存在則document.cookie的長度為0
if (document.cookie.length > 0)
{
// 接著我們檢查下cookie的名字是否存在于document.cookie
// 因為不止一個cookie值存儲,所以即使document.cookie的長度不為0也不能保證我們想要的名字的cookie存在
//所以我們需要這一步看看是否有我們想要的cookie
//如果begin的變量值得到的是-1那么說明不存在
begin = document.cookie.indexOf(NameOfCookie+"=");
if (begin != -1)
{
// 說明存在我們的cookie.
begin += NameOfCookie.length+1;//cookie值的初始位置
end = document.cookie.indexOf(";", begin);//結束位置
if (end == -1) end = document.cookie.length;//沒有;則end為字符串結束位置
return unescape(document.cookie.substring(begin, end));
}
}
return null;
// cookie不存在返回null
}
///刪除cookie
function delCookie (NameOfCookie)
{
// 該函數檢查下cookie是否設置,如果設置了則將過期時間調到過去的時間;
//剩下就交給操作系統(tǒng)適當時間清理cookie啦
if (getCookie(NameOfCookie))
{
document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
相關文章
javascript利用apply和arguments復用方法
這篇文章主要介紹了javascript利用apply和arguments復用方法,有需要的朋友可以參考一下2013-11-11

