摘要:之前只知道的一些存儲量,過期時間上的區(qū)別,今天仔細研究了一下它們用法上的區(qū)別。這個限制確保了儲存在中的信息只能讓批準的接受者訪問,而無法被其他域訪問。中所有的名字和值都是經(jīng)過編碼的,所以必須使用來解碼。屬于永久性存儲。
之前只知道cookie、sessionStorage、localStorage的一些存儲量,過期時間上的區(qū)別,今天仔細研究了一下它們用法上的區(qū)別。 cookie
cookie的本質是在綁定的特定的域名下的。當服務器發(fā)送的HTTP響應頭中包含cookie會話信息時({key,value}形式),瀏覽器會保存這樣的會話信息,并在再次給創(chuàng)建它的域名發(fā)送請求時,都會包含這個cookie。這個限制確保了儲存在cookie中的信息只能讓批準的接受者訪問,而無法被其他域訪問。
JavaScript中的cookie
在JavaScript中操作cookie有點復雜,因為只有BOM的document.cookie屬性,返回頁面可用的所有cookie的字符串,一系列有逗號分隔開的鍵值對。
document.cookie屬性可以設置新的cookie字符串,并不會覆蓋cookie,除非cookie的名稱已經(jīng)存在。
cookie中所有的名字和值都是經(jīng)過URL編碼的,所以必須使用decodeURIComponent()來解碼。
由于JavaScript中讀寫cookie不夠直觀,所以需要封裝一些方法來方便cookie的操作。例如:讀、寫、刪除操作。
設置cookie:
function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); }
讀取cookie
function getCookie(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); return (arr=document.cookie.match(reg))?unescape(arr[2]):null; }
刪除cookie
function delCookie(name)
{
var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
這樣封裝起來就很方便使用啦!
sessionStorage和localStoragesessionStorage和localStorage都是在HTML5中提出的,都是以window對象屬性的形式存在,用來在客戶端存儲會話數(shù)據(jù)。
sessionStorage和localStorage都是Storage類型的實例。所以它們有clear()、getItem(name)、key(index)、removeItem(name)、setItem(name,value)方法。
sessionStorage對象存儲特定于某個會話的數(shù)據(jù),也就是該數(shù)據(jù)只保存到瀏覽器關閉。localStorage屬于永久性存儲。切它們的存儲量也大于cookie,因瀏覽器而已,基本可以達到有5M。
sessionStorage和localStorage只能存儲字符串類型數(shù)據(jù),無法直接存儲數(shù)組類型和JSON對象,如果有需求該怎樣做呢?其實也很簡單。
首先將JSON對象通過JSON.stringify()方法轉換成字符串,再存儲到sessionstorage中,然后通過JSON.parse()方法將字符串轉換成JSON格式即可。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/96231.html
摘要:快速上手先說區(qū)別數(shù)據(jù)大小不能超過??梢栽诤蠖嗽O置修改,數(shù)據(jù)僅在本地瀏覽器保存。數(shù)據(jù)存儲在瀏覽器僅在瀏覽器為關閉的狀態(tài),關閉窗口后數(shù)據(jù)就會銷毀。默認情況下,屬于當前頁面。 cookie、Sessionstorage、Localstorage快速上手 先說區(qū)別 cookie: 數(shù)據(jù)大小不能超過4KB。 不管是否有需求,cookie數(shù)據(jù)都會在HTTP請求中攜帶,在瀏覽器和服務器中來回傳遞,...
摘要:顧名思義,確實非常小,它的大小限制為左右,是網(wǎng)景公司的前雇員在年月的發(fā)明。是標準中新加入的技術,它并不是什么劃時代的新東西。特性與的接口類似,但保存數(shù)據(jù)的生命周期與不同。但當頁面關閉后,中的數(shù)據(jù)就會被清空。 本文最初發(fā)布于我的個人博客:咀嚼之味 最近在找暑期實習,其中百度、網(wǎng)易游戲、阿里的面試都問到一些關于HTML5的東西,問題大多是這樣開頭的:你用過什么HTML5的技術呀?...
摘要:的區(qū)別及用法是本地存儲,存儲在客戶端,包括和。僅在當前會話下有效,關閉頁面或瀏覽器后被清除。源生接口可以接受,亦可再次封裝來對和有更好的支持。但需要程序員自己封裝,源生的接口不友好。每個最多只能有條,每個長度不能超過。 localStorage、sessionStorage、Cookie的區(qū)別及用法 showImg(https://segmentfault.com/img/bVYLlH...
摘要:快速上手先說區(qū)別數(shù)據(jù)大小不能超過??梢栽诤蠖嗽O置修改,數(shù)據(jù)僅在本地瀏覽器保存。數(shù)據(jù)存儲在瀏覽器僅在瀏覽器為關閉的狀態(tài),關閉窗口后數(shù)據(jù)就會銷毀。默認情況下,屬于當前頁面。 cookie、Sessionstorage、Localstorage快速上手 先說區(qū)別 cookie: 數(shù)據(jù)大小不能超過4KB。 不管是否有需求,cookie數(shù)據(jù)都會在HTTP請求中攜帶,在瀏覽器和服務器中來回傳遞,...
閱讀 972·2019-08-30 15:54
閱讀 499·2019-08-30 12:51
閱讀 2098·2019-08-29 16:28
閱讀 2896·2019-08-29 16:10
閱讀 2391·2019-08-29 14:21
閱讀 474·2019-08-29 14:09
閱讀 2199·2019-08-23 16:13
閱讀 1288·2019-08-23 13:59