JavaScript cookie詳解及簡(jiǎn)單實(shí)例應(yīng)用
JavaScript cookie詳解
一、cookie基本介紹
cookie是document的對(duì)象。cookie可以使得JavaScript代碼能夠在用戶的硬盤上持久地存儲(chǔ)數(shù)據(jù),并且能夠獲得以這種方式存儲(chǔ)的數(shù)據(jù)。cookie還可以用于客戶端腳本化。
cookie數(shù)據(jù)可以自動(dòng)地在Web瀏覽器好Web服務(wù)器之間傳遞。
在瀏覽器中可以通過navigator.cookieEnabled屬性檢查瀏覽器的cookie功能是否被激活。
二、cookie的基本屬性
每個(gè)cookie都有四個(gè)可選的屬性
1.expires
指定了cookie的生存期。將expires屬性設(shè)定為未來的一個(gè)過期時(shí)間,即可讓cookie在過期后失效。
現(xiàn)在用max-age屬性來代替它,max-age用秒來設(shè)置cookie的生命期。一旦超過了max-age的生命期,那個(gè)cookie就會(huì)被瀏覽器自動(dòng)地從cookie文件中刪除掉
2.path
指定了與cookie關(guān)聯(lián)在一起的網(wǎng)頁。默認(rèn)情況下,cookie會(huì)和創(chuàng)建它的網(wǎng)頁以及與這個(gè)網(wǎng)頁處于同一個(gè)目錄下的網(wǎng)頁和處于該目錄的子目錄下的網(wǎng)頁關(guān)聯(lián)。
這個(gè)主要設(shè)置了cookie對(duì)于網(wǎng)頁的可見性。加入將path設(shè)置為www.a.com/list,那么www.a.com/list/a.html和www.a.com/list/b.html都可以訪問cookie,但www.a.com/comtain不 能訪問該cookie。但是如果將path設(shè)置為www.a.com/,那么www.a.com/list和www.a.com/contain都可以訪問cookie。
3.domain
默認(rèn)只有來自同一Web服務(wù)器的頁面才能訪問cookie,可以設(shè)置domain。例如把cookie的path設(shè)定為/,cookie設(shè)定為.example.com,則所有位于catalog.example.com和 orders.example.com的網(wǎng)頁以及位于.example.com域名下其他服務(wù)器的網(wǎng)頁都能訪問這個(gè)cookie
注意:不能講一個(gè)cookie的域設(shè)置為服務(wù)器所在的域之外的域
4.source
source為一個(gè)布爾值,true由不安全的HTTP傳輸(默認(rèn));false只在瀏覽器和服務(wù)器通過HTTPS或其他的安全協(xié)議連接下才被傳輸。
三、cookie的應(yīng)用
一個(gè)cookie是一個(gè)字符串,有name=value這種結(jié)構(gòu)組合而成。cookie的例子:
version=1.0;max-age=3600
注意每段字符串之間不能包含逗號(hào)或者空格等,因此在寫入cookie時(shí)需要使用encodeURIComponent去掉變量中的相關(guān)符號(hào),讀取時(shí)利用的decodeURIComponent
要?jiǎng)?chuàng)建一個(gè)能夠持續(xù)存在一年的cookie:
document.cookie = “version=” + document.lastModified + “;max-age=” + (60*60*24*365);
四、總結(jié)
雖然現(xiàn)在瀏覽器的存儲(chǔ)技術(shù)越來越多,HTML5也為localStorage帶來了更高的性能體驗(yàn),但是cookie仍然可以為我們處理很多事務(wù),方便小型數(shù)據(jù)的交流。合理的使用cookie,可以讓我們的應(yīng)用程序更加靈活。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
javascript之函數(shù)直接量(function(){})()
javascript之函數(shù)直接量(function(){})()...2007-06-06
JavaScript的三大前端框架Vue和Angular和React
這篇文章主要為大家介紹了JavaScript的三大前端框架Vue和Angular和React,文章中有詳細(xì)的代碼示例,有需要的朋友可以借鑒參考下,2023-04-04
關(guān)于jQuery $.isNumeric vs. $.isNaN vs. isNaN
本篇文章,小編將為大家介紹jQuery $.isNumeric vs. $.isNaN vs. isNaN,有需要的朋友可以參考一下2013-04-04
JavaScript函數(shù)的調(diào)用以及參數(shù)傳遞
這篇文章主要介紹了JavaScript函數(shù)的調(diào)用以及參數(shù)傳遞,是JavaScript入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10
javaScript獲取對(duì)象中非空的屬性實(shí)現(xiàn)方法詳解
這篇文章主要為大家介紹了javaScript獲取對(duì)象中非空的屬性實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
引用外部腳本時(shí)script標(biāo)簽關(guān)閉的寫法
在引用外部腳本時(shí),script標(biāo)簽的關(guān)閉寫法,很多朋友對(duì)它保持健忘態(tài)度,下面為大家介紹下其正確的寫法2014-01-01
JavaScript中的分號(hào)插入機(jī)制詳細(xì)介紹
這篇文章主要介紹了JavaScript中的分號(hào)插入機(jī)制詳細(xì)介紹,本文講解JavaScript中各種情況下的分號(hào)插入機(jī)制,需要的朋友可以參考下2015-02-02
javascript 全選與全取消功能的實(shí)現(xiàn)代碼
全選與全取消在工作過程中經(jīng)常會(huì)使用到,是因?yàn)樗芊奖悖瑫r(shí)可以提高用戶體驗(yàn)值,本文介紹如何使用javascript實(shí)現(xiàn)全選與全取消功能,需要了解的朋友可以參考下2012-12-12

