用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是否設置,如果設置瞭則將過期時間調到過去的時間;
 //剩下就交給操作系統適當時間清理cookie啦
 if (getCookie(NameOfCookie))
 {
  document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
 }
}

摘自 網絡世界無中生有

發佈留言