十八、Cookies
1、設定一個Cookie(Setting a Cookie)
Q:我如何用JavaScript設定一個cookie。
A:要設定一個cookie在n天后到期,可以使用下面的函數:
function SetCookie(cookieName,cookieValue,nDays) { var today = new Date(); var expire = new Date(); if (nDays==null || nDays==0) nDays=1; expire.setTime(today.getTime() + 3600000*24*nDays); document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();}
| Cookie Name: |
|
| Cookie Value: |
|
| Must expire in: |
days from today |
| |
|
2、讀取cookie(Reading a Cookie)
Q:如果通過一個給定的名字讀取cookie。
A:要通過由SetCookie函數設定cookieName讀取cookie,可以使用下面的函數:
function ReadCookie(cookieName) { var theCookie=""+document.cookie; var ind=theCookie.indexOf(cookieName); if (ind==-1 || cookieName=="") return ""; var ind1=theCookie.indexOf(';',ind); if (ind1==-1) ind1=theCookie.length; return unescape(theCookie.substring(ind+cookieName.length+1,ind1));}
3、刪除Cookie(Deleting a Cookie)
Q:如何刪除給定名稱的cookie。
A:要通過給定的名稱刪除一個cookie,可以設定同樣名稱的cookie,但是到期日期在過去。
4、Cookie可用嗎。(Are cookies enabled?)
Q:我如何測試使用者瀏覽器上的cookie是否可用。
A:要測試cookie是否可用,你可以設定一個非空cookie,然後在擷取它。如果你擷取的cookie值是剛才你設定的,那麼cookie就可用。如果擷取的值一個Null 字元串,那麼cookie就被禁用了。
這個頁麵包含了使用SetCookie和ReadCookie測試是否支援cookie的簡單代碼。結果是:
5、Cookie檔案的位置(Cookie Files Location)
Q:Cookie檔案儲存在硬碟的什麼地方。
A:cookie檔案的實際位置依賴於使用者的瀏覽器和作業系統。例如,Windows下的Netscape Navigator 4.x將所有cookie儲存為一個檔案,典型的位置是:
c:/Program Files/Netscape/Users/Your_Name/cookies.txt
Internet Explorer 4.x將每個cookie儲存為單獨檔案。cookie檔案的名稱形式是:anyuser@WebSiteName.txt。Cookie檔案典型的儲存路徑是:
c:/Windows/Cookies/anyuser@WebSiteName.txt