JavaScript cookie詳解

來源:互聯網
上載者:User
一、cookie概述
cookie是Document對象的一個屬性。
它使得JavaScript代碼能夠在使用者的硬碟上持久地儲存資料,並且能夠使用JavaScript代碼對這些資料進行讀取\修改\刪除。
這樣可以儲存資訊,並且在關閉目前的交談後,以後再次啟用對話時仍能對這些資訊進行操作。(比如使用者在文字框輸入自己的郵件地址,當下次再開啟這個頁面時,文字框中可以自動顯示上次輸入的郵件地址)。
cookie有四個可選的屬性如下:
1、expires(用來指定cookie的儲存期,此屬性已被max-age屬性代替)
2、path(用來指定網站中都有哪些頁面可以共用cookie資料)
3、domain(用來指定跨伺服器頁面共用cookie資料,如catalog.example.com和orders.example中的頁面都可以使用cookie資料)
4、secure(指定在網路上如何傳輸cookie值,他的值為布爾值,當值為true時傳輸方法為安全的HTTPS方法,當值為false時傳輸的方法為普通的,不安全的HTTP方法)

二、cookie的儲存\讀取\修改\刪除
儲存:

1、document.cookie="name=vale";(name為cookie名,vale為cookie值,可多次使用儲存多個cookie)
2、document.cookie="name="+valiable;(值可為變數)
3、document.cookie="name="+encodeURIComponent(valiable);(對值進行加密,讀取時需解密,稍後講到)
4、document.cookie="name="+valiable+“;max-age="+1000;(用max-age屬性設定 cookie的儲存時間,用數字表示,1代表1秒,時間也可以用數學方法如;document.cookie="name="+valiable+“;max-age="+(60*60*24*356);表示一年)
4、document.cookie="name="+valiable+";max-age="+1000+";path=/;domain=.baidu.com;secure=true";(路徑為“/”表示根目錄下所以頁面如www.baidu.com下,域為".baidu.com"表示這個域下所以伺服器的所以頁面如"search.baidu.com"和"hi.baidu.com"下的頁面都可以,secure設為true表示使用安全的HTTPS方法傳輸。)

讀取:
使用document.cookie來讀取cookie。它返回的是一個字串,這個字串存放的是當前文檔應用的所有cookie。它是一個name=value對的列表,數對這間用分號隔開,其中不包括已以設定的cookie屬性。可以使用alert(document.cookie);來查看這些值。
如儲存時所說,使用encodeURIComponent(valiable)方法進行編碼,讀取的時候可用decodeURIComponent()方法解碼。如:alert(encodeURIComponent(document.cookie));

修改:
所謂修改其實就是用同樣的名設定不同的值罷,呵呵。
如:
document.cookie="name=vale";
document.cookie="name=vale2";
這樣就更改了cookie的值,原來是vale現在是vale2。當然更改到期時間也就是重新設定。

刪除:
所謂刪除就是將值設定為空白。
如:
document.cookie="name=vale";
document.cookie="name=";

註:
cookie值不能含有分號,逗號,空白符。
前三種方法只能在當前的瀏覽會話中存活,當使用者退出瀏覽器時它就會丟失。
cookie的四個屬性為可選,可寫一個或多個也可一個也不寫。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.