Cookies是在我們使用瀏覽器開始遨遊網路時,被建立或取用,當你關閉瀏覽器,結束瀏覽時,它依然存活在你的電腦裡,這些Cookies檔案在哪裡?以IE為例,它們就在『\WINDOWS\Temporary Internet Files』目錄裡。
在本篇中將為大家介紹如何儲存Cookies、如何取用Cookies裡的資訊及如何刪除Cookies。
提示!!
一個Cookie檔案能儲存近300個Cookies,而每個Cookies約可儲存4000個位元組的資料。
儲存Cookies
Cookies的操作是必須透過「物件」來處理的,靠哪一個物件?當然是靠document囉。
寫入到Cookie檔案裡的Cookies資訊格式如下:
Cookie資訊格式
在使用Cookies時,名稱(name)參數一定要有,至於寫入的資料就不一定是必須的,但是,我們若只指定名稱(name)參數,而沒有在指定其他的參數(寫入的資料),則Cookies將只存在於瀏覽器之中,並沒有被寫入瀏覽者的硬碟裡,也就是說,當瀏覽器必關閉時,這個Cookies就煙消雲散了!
下面這個程式例子將可以在網頁載入時記錄瀏覽網頁的開始日期與時間:
當我們指定給Cookies資料時,這個資料內不能含有特殊字元或符號,例如:逗號或分號,甚至是「空白(space)」,如果資料中含有特殊字元或符號,就必須使用escape()函式來處理這些特殊字元或符號(中文字其實也是),如上例,我們就將日期與時間資料以escape()函式來預先處理。
實作學習:
製作一個JavaScript程式,使用Cookies記錄瀏覽者的姓名。
- 當網頁載入時將出現一個輸入對話視窗(程式碼第8行):
- 在寫入Cookies之前,先檢驗一下輸入對話視窗是否有回傳資料,如果有,則將回傳資料寫入Cookies(程式碼第14行),如果沒有,則預設寫入Cookies的資料值是「神秘人」(程式碼第22行)!
設定Cookies的使用期限
之前我們說過:若只指定名稱(name)參數,而沒有在指定其他的參數(寫入的資料),則Cookies將只存在於瀏覽器之中。如何證明?雖然我們將瀏覽器關閉,因為瀏覽器有設定「快取記憶」,所以我們仍然看得到曾經瀏覽的網頁,如下圖,可是就只有網頁而已,並沒有Cookies檔案:
提示!!
瀏覽器的「快取記憶」只有在「執行瀏覽」時才會生效,若你使用「開啟舊檔」的方式觀看網頁(檔案=>開啟舊檔),則「快取記憶」是沒有作用的。
因此,你要讓Cookies的資訊真正的獨立記錄在Cookie檔案中,除了名稱(name)參數外,必須再加上其他的參數!除名稱參數之外,最常加入Cookies中的參數就是「expires(到期日)」。
假設,我們希望Cookies的到期日為瀏覽者第一次參觀網頁之後的一年時,則我們可以設定一個到期日的日期物件,如下:
上例中,我們設定了兩個日期物件,begindate日期物件用來得知瀏覽者參觀網頁參觀網頁的日期,而enddate日期物件的日期則為Cookies的到期日,我們利用getDate()方法,先取得begindate日期物件的日期,加上365天後,再以setDate()方法將Cookies的日期設定給enddate日期物件。
當我們以「expires(到期日)」參數來設定Cookies的到期日時,到期日的格式必須使用GMT(格林威治時間)的格式來表示:
例如:
若要將日期格式轉換成GMT格式的字串,則我們可以使用Date()日期時間物件的 toGMTString()方法。
實作學習:
製作一個JavaScript程式,使用Cookies記錄瀏覽者的姓名,並指定Cookies的到期日。
網頁執行瀏覽後,『\WINDOWS\Temporary Internet Files』目錄中會出現獨立的Cookie檔案!
沒有留言:
張貼留言