摘要:的區(qū)別及用法是本地存儲,存儲在客戶端,包括和。僅在當前會話下有效,關(guān)閉頁面或瀏覽器后被清除。源生接口可以接受,亦可再次封裝來對和有更好的支持。但需要程序員自己封裝,源生的接口不友好。每個最多只能有條,每個長度不能超過。
localStorage、sessionStorage、Cookie的區(qū)別及用法 webstorage
webstorage是本地存儲,存儲在客戶端,包括localStorage和sessionStorage。
localStoragesessionStoragelocalStorage生命周期是永久,這意味著除非用戶顯示在瀏覽器提供的UI上清除localStorage信息,否則這些信息將永遠存在。存放數(shù)據(jù)大小為一般為5MB,而且它僅在客戶端(即瀏覽器)中保存,不參與和服務(wù)器的通信。
sessionStorage僅在當前會話下有效,關(guān)閉頁面或瀏覽器后被清除。存放數(shù)據(jù)大小為一般為5MB,而且它僅在客戶端(即瀏覽器)中保存,不參與和服務(wù)器的通信。源生接口可以接受,亦可再次封裝來對Object和Array有更好的支持。
localStorage和sessionStorage使用時使用相同的API:
localStorage.setItem("key","value");//以“key”為名稱存儲一個值“value” localStorage.getItem("key");//獲取名稱為“key”的值 localStorage.removeItem("key");//刪除名稱為“key”的信息。 localStorage.clear();?//清空localStorage中所有信息簡單的舉個例子來了解一下他們的用法
仿一下京東官網(wǎng)頂部的廣告關(guān)閉,效果為第一次進入官網(wǎng)會出現(xiàn)廣告,然后點擊關(guān)閉,刷新網(wǎng)頁不會再顯示廣告,但是當清除localStorage存入的數(shù)據(jù),刷新網(wǎng)頁會再顯示廣告。
html代碼
css代碼
.header{ width:100%; height:80px; background:#000; } .header-a{ width:1190px; margin:0 auto; position:relative; background:url("images/1.jpg") no-repeat; } .header-a a{ width:100%; height:80px; display:block; } .close{ cursor:pointer; color:#fff; position:absolute; top:5px; right:5px; background:rgb(129, 117, 117); width: 20px; text-align: center; line-height: 20px; }
js代碼
//localStorage方法 function haxi(){ //判斷l(xiāng)ocalStorage里有沒有isClose if(localStorage.getItem("isClose")){ $(".header").hide(); }else{ $(".header").show(); } //點擊關(guān)閉隱藏圖片存取數(shù)據(jù) $(".close").click(function(){ $(".header").fadeOut(1000); localStorage.setItem("isClose", "1"); }) } haxi();作用域不同
不同瀏覽器無法共享localStorage或sessionStorage中的信息。相同瀏覽器的不同頁面間可以共享相同的 localStorage(頁面屬于相同域名和端口),但是不同頁面或標簽頁間無法共享sessionStorage的信息。這里需要注意的是,頁面及標 簽頁僅指頂級窗口,如果一個標簽頁包含多個iframe標簽且他們屬于同源頁面,那么他們之間是可以共享sessionStorage的。
Cookie生命期為只在設(shè)置的cookie過期時間之前一直有效,即使窗口或瀏覽器關(guān)閉。 存放數(shù)據(jù)大小為4K左右 。有個數(shù)限制(各瀏覽器不同),一般不能超過20個。與服務(wù)器端通信:每次都會攜帶在HTTP頭中,如果使用cookie保存過多數(shù)據(jù)會帶來性能問題。但Cookie需要程序員自己封裝,源生的Cookie接口不友好(http://www.jb51.net/article/6...
)。
js代碼
//Cookie方法 //Cookie函數(shù)自己封裝引入 function haxi(){ if(getCookie("isClose")){ $(".header").hide(); }else{ $(".header").show(); } $(".close").click(function(){ $(".header").fadeOut(1000); setCookie("isClose", "1","s10"); }) } haxi();
cookie的優(yōu)點:具有極高的擴展性和可用性
1.通過良好的編程,控制保存在cookie中的session對象的大小。 2.通過加密和安全傳輸技術(shù),減少cookie被破解的可能性。 3.只有在cookie中存放不敏感的數(shù)據(jù),即使被盜取也不會有很大的損失。 4.控制cookie的生命期,使之不會永遠有效。這樣的話偷盜者很可能拿到的就 是一個過期的cookie。
cookie的缺點:
1.cookie的長度和數(shù)量的限制。每個domain最多只能有20條cookie,每個cookie長度不能超過4KB。否則會被截掉。 2.安全性問題。如果cookie被人攔掉了,那個人就可以獲取到所有session信息。加密的話也不起什么作用。 3.有些狀態(tài)不可能保存在客戶端。例如,為了防止重復(fù)提交表單,我們需要在服務(wù)端保存一個計數(shù)器。若吧計數(shù)器保存在客戶端,則起不到什么作用。localStorage、sessionStorage、Cookie共同點:都是保存在瀏覽器端,且同源的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/89860.html
摘要:快速上手先說區(qū)別數(shù)據(jù)大小不能超過。可以在后端設(shè)置修改,數(shù)據(jù)僅在本地瀏覽器保存。數(shù)據(jù)存儲在瀏覽器僅在瀏覽器為關(guān)閉的狀態(tài),關(guān)閉窗口后數(shù)據(jù)就會銷毀。默認情況下,屬于當前頁面。 cookie、Sessionstorage、Localstorage快速上手 先說區(qū)別 cookie: 數(shù)據(jù)大小不能超過4KB。 不管是否有需求,cookie數(shù)據(jù)都會在HTTP請求中攜帶,在瀏覽器和服務(wù)器中來回傳遞,...
摘要:快速上手先說區(qū)別數(shù)據(jù)大小不能超過。可以在后端設(shè)置修改,數(shù)據(jù)僅在本地瀏覽器保存。數(shù)據(jù)存儲在瀏覽器僅在瀏覽器為關(guān)閉的狀態(tài),關(guān)閉窗口后數(shù)據(jù)就會銷毀。默認情況下,屬于當前頁面。 cookie、Sessionstorage、Localstorage快速上手 先說區(qū)別 cookie: 數(shù)據(jù)大小不能超過4KB。 不管是否有需求,cookie數(shù)據(jù)都會在HTTP請求中攜帶,在瀏覽器和服務(wù)器中來回傳遞,...
閱讀 2785·2021-11-04 16:15
閱讀 3458·2021-09-29 09:35
閱讀 4032·2021-09-22 15:45
閱讀 1417·2019-08-30 15:55
閱讀 1689·2019-08-30 15:44
閱讀 2711·2019-08-29 12:56
閱讀 2697·2019-08-26 13:30
閱讀 2169·2019-08-23 17:00