亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

常見的瀏覽器存儲方式(cookie、localStorage、sessionStorage)

2020-03-21 15:57:22
字體:
來源:轉載
供稿:網友

今天我們從前端的角度了解一下瀏覽器存儲,我們常見且常用的存儲方式主要由兩種:cookie、webStorage(localStorage和sessionStorage)。下面我們來一一認識它們。

Cookie基于HTTP規范,用來識別用戶。

Cookie是服務器發送到瀏覽器的一小段數據,會在瀏覽器下次向同一服務器再發起請求時被攜帶并發送到服務器上。

Cookie誕生之初的作用就是解決HTTP的無狀態請求,用來記錄一些用戶相關的一些狀態。

•會話狀態管理(如用戶登錄狀態、購物車、游戲分數或其它需要記錄的信息)
•個性化設置(如用戶自定義設置、主題等)
•瀏覽器行為跟蹤(如跟蹤分析用戶行為等)

因為一些前端交互的需要,后來cookie也被用于存儲一些客戶端的數據。

Cookie的原生api不友好,需要自行封裝一下。下面是封裝后的方法。

創建cookie

/*** @description js原生設置cookie* @param {String} name 給你要設置的cookie起個名字(key)* @param {String} value cookie的具體內容(value)* @param {String} expiredays 設置cookie的過期時間,單位:天*/function setCookie(name, value, expiredays) {var exdate=new Date();exdate.setDate(exdate.getDate() + expiredays);document.cookie = name + '=' + escape(value)+ ((expiredays == null) ? '' : ';expires=' +exdate.toGMTString());}

獲取cookie

 

/*** @description js原生獲取cookie方法1* @param {String} name 你要獲取的cookie名*/function getCookie(name) {  if (document.cookie.length > 0) {    var start = document.cookie.indexOf(name + '=');    if (start !== -1) {      start = start + name.length + 1;      var end = document.cookie.indexOf(';', start);      if (end === -1) {        end = document.cookie.length;        return unescape(document.cookie.substring(start, end));      }   }  }  return '';}/*** @description js原生獲取cookie方法2* @param {String} name 你要獲取的cookie名*/function getCookie(name) {  var cookieArr = document.cookie.split(';') || [];  if(!cookieArr.length){    return '';  }  for(var i = 0; i < cookieArr.length; i ++){    var key = $.trim(cookieArr[i]).split('=')[0];    var value = $.trim(cookieArr[i]).split('=')[1];    if(key === name){      return value;    }  }}

檢查cookie是否已存在

function checkCookie() {  username = getCookie('username');  if (username !== null && username !== '') {    alert('Welcome again ' + username + '!');  } else {    username = prompt('Please enter your name:', '');    if (username !== null && username !== '') {      setCookie('username',username,365);    }  }}

jquery.cookie.js封裝的cookie設置方法:

創建cookie

/*** 'name', cookie命名* 'value',cookie的值* {*   expires: 7, // cookie有效期,單位天;默認值:會話cookie,關閉瀏覽器cookie失效。*   path: '/', // cookie影響到的路徑;值為'/',表示設置cookie在整個域中可用;默認值:創建cookie的頁面路徑。*   domain: 'example.com', // 定義cookie有效的域。默認值:創建cookie的頁面域。*   secure: false, // 定義cookie安全性,默認值:false,設置為true,則cookie在http中是無效的,cookie的傳輸需要使用安全協議(https)。* }*/$.cookie('name', 'value', { expires: 7, path: '/', domain: 'example.com', secure: false});

讀取cookie

$.cookie('name'); //name存在返回對應value,不存在返回null

讀取所有可用的cookies:

$.cookie(); //{'name': value}

TODO:直接調用會報錯?

瀏覽器,存儲方式,cookie,localStorage,sessionStorage

刪除cookie

//成功刪除cookie時返回true,否則返回false$.removeCookie('name'); // => true$.removeCookie('nothing'); // => false

注意:刪除cookie時,必須傳遞用于設置cookie的完全相同的路徑,域和安全選項,除非您依賴于默認選項。

即:設置cookie時如果設置了path屬性或secure屬性,刪除的時候要帶著這些屬性,否則無法成功刪除cookie。

// This won't work!$.removeCookie('name'); // => false// This will work!$.removeCookie('name', { path: '/' }); // => trueTODO:$.removeCookie無效?

(jquery1.9.1.js + jquery.cookie.js,插件無重復引用的情況,$.removeCookie提示undefined)

瀏覽器,存儲方式,cookie,localStorage,sessionStorage

webStorage基于HTML5規范

HTML5 提供了兩種在客戶端存儲數據的新方法:localStorage和sessionStorage,掛載在window對象下。

webStorage是本地存儲,數據不是由服務器請求傳遞的。從而它可以存儲大量的數據,而不影響網站的性能。

Web Storage的目的是為了克服由cookie帶來的一些限制,當數據需要被嚴格控制在客戶端上時,無須持續地將數據發回服務器。比如客戶端需要保存的一些用戶行為或數據,或從接口獲取的一些短期內不會更新的數據,我們就可以利用Web Storage來存儲。

localStorage的生命周期是永久性的。localStorage存儲的數據,即使關閉瀏覽器,也不會讓數據消失,除非主動的去刪除數據。如果 想設置失效時間,需自行封裝。

sessionStorage 的生命周期是在瀏覽器關閉前。

  特性:

•關閉瀏覽器sessionStorage 失效;
•頁面刷新不會消除數據;
•只有在當前頁面打開的鏈接,才可以訪sessionStorage的數據,使用window.open打開頁面和改變localtion.href方式都可以獲 取到

sessionStorage內部的數據;

 

存儲方式

作用與特性

存儲數量及大小

api

cookie

● 存儲用戶信息,獲取數據需要與服務器建立連接。

● 可存儲的數據有限,且依賴于服務器,無需請求服務器的數據盡量不要存放在cookie中,以免影響頁面性能。

● 可設置過期時間。

● 最好將cookie控制在4095B以內,超出的數據會被忽略。

● IE6或更低版本最多存20個cookie; IE7及以上版本最多可以有50個;Firefox最多50個;chrome和Safari沒有做硬性限制。

原生、$.cookie(詳見上文)

localStorage

● 存儲客戶端信息,無需請求服務器。

● 數據永久保存,除非用戶手動清理客戶端緩存。

● 開發者可自行封裝一個方法,設置失效時間。

 

5M左右,各瀏覽器的存儲空間有差異。(感興趣的同學可以自己試一下)。

// 保存數據到 localStorage

localStorage.setItem('key', 'value');

// 從 localStorage 獲取數據

let data = localStorage.getItem('key');

// 從 localStorage 刪除保存的數據

localStorage.removeItem('key');

// 從 localStorage 刪除所有保存的數據

localStorage.clear();

sessionStorage

● 存儲客戶端信息,無需請求服務器。

● 數據保存在當前會話,刷新頁面數據不會被清除,結束會話(關閉瀏覽器、關閉頁面、跳轉頁面)數據失效。

 

同localStorage

// 保存數據到 sessionStorage

sessionStorage.setItem('key', 'value');

// 從 sessionStorage 獲取數據

let data = sessionStorage.getItem('key');

// 從 sessionStorage 刪除保存的數據

sessionStorage.removeItem('key');

// 從 sessionStorage 刪除所有保存的數據

sessionStorage.clear();

 

總結:

以上所述是小編給大家介紹的常見的瀏覽器存儲方式(cookie、localStorage、sessionStorage),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲自拍偷拍在线| 97超碰蝌蚪网人人做人人爽| 色综合老司机第九色激情| 日韩视频免费看| 中文字幕久久久av一区| 亚洲国产精品国自产拍av秋霞| 中文字幕精品在线视频| 欧美激情综合色| 7777免费精品视频| 九九精品视频在线| 成人女保姆的销魂服务| 久久久久久久久久久久久久久久久久av| 欧美夫妻性生活xx| 国产剧情久久久久久| 在线观看欧美成人| 久久久久中文字幕| 欧美综合一区第一页| xxx欧美精品| 久久久www成人免费精品| 欧美最猛性xxxxx(亚洲精品)| 国产精品久久国产精品99gif| 国产精品91久久久久久| 亚洲综合中文字幕在线| 日韩成人中文电影| 一本一本久久a久久精品牛牛影视| 亚洲精品之草原avav久久| 欧美在线性视频| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品视频区1| 欧美成人免费播放| 日韩av网站大全| 国产精品欧美激情在线播放| 日本精品va在线观看| 中文字幕在线亚洲| 欧美电影免费观看| 欧美视频免费在线观看| 日韩国产一区三区| 成人国产精品av| 亚洲国产一区二区三区四区| 亚洲精品日韩在线| 日韩免费精品视频| 欧美亚洲视频在线观看| 成人看片人aa| 亚洲午夜未满十八勿入免费观看全集| 日韩国产欧美精品一区二区三区| 久久久亚洲国产天美传媒修理工| 国产精品久久久久久久久男| 性欧美视频videos6一9| 国产精品入口福利| 51精品在线观看| 亚洲第一精品夜夜躁人人躁| 亚洲free嫩bbb| 欧美成人一区二区三区电影| 九九久久综合网站| 亚洲欧美国内爽妇网| 日韩暖暖在线视频| 欧美国产日产韩国视频| 91沈先生在线观看| 91久久在线播放| 精品视频在线观看日韩| 国产成人精品久久二区二区91| 在线观看国产精品淫| 亚洲美女av黄| 亚洲天堂开心观看| 国产精品久久av| 都市激情亚洲色图| 精品人伦一区二区三区蜜桃网站| 日韩精品在线免费| 欧美极品在线视频| 久久九九国产精品怡红院| 亚洲精品99999| 日韩少妇与小伙激情| 疯狂做受xxxx高潮欧美日本| 搡老女人一区二区三区视频tv| 日韩在线视频一区| 亚洲福利视频网站| 国产成人精品久久二区二区| 亚洲人成免费电影| 亚洲精品视频免费在线观看| 92看片淫黄大片欧美看国产片| 国产精品永久免费观看| 日韩免费观看在线观看| 精品国偷自产在线视频| 亚洲国产精品人人爽夜夜爽| yellow中文字幕久久| 久久精品国产2020观看福利| 免费99精品国产自在在线| 亚洲美女激情视频| 日韩精品在线观看一区| 永久免费毛片在线播放不卡| 国产精品欧美日韩久久| 久久成年人视频| 国产区亚洲区欧美区| 在线观看视频99| 久久精品久久久久久| 欧美一级淫片播放口| 欧美日韩免费在线| 播播国产欧美激情| 久久91亚洲精品中文字幕| 5252色成人免费视频| 45www国产精品网站| 成人黄色免费片| 欧美一性一乱一交一视频| 国产玖玖精品视频| 97在线视频精品| 国产噜噜噜噜久久久久久久久| 亚洲日本中文字幕| 国产aⅴ夜夜欢一区二区三区| 这里只有精品久久| 主播福利视频一区| 亚洲欧美在线免费观看| 粗暴蹂躏中文一区二区三区| 亚洲全黄一级网站| 久久久之久亚州精品露出| 亚洲精品中文字幕av| 国产日韩欧美日韩| 欧美精品久久久久久久免费观看| 欧美日韩成人免费| 国产一区二区三区视频在线观看| 黑丝美女久久久| 国产精品日本精品| 日本韩国在线不卡| 久久久久99精品久久久久| 91在线观看免费高清完整版在线观看| 亚洲色图35p| 国产精品一区二区三区免费视频| 92福利视频午夜1000合集在线观看| 日韩最新中文字幕电影免费看| 日韩电影中文字幕| 97精品久久久中文字幕免费| 国产成人av网址| 久久精品福利视频| 久久天天躁日日躁| 亚洲欧美精品在线| www高清在线视频日韩欧美| 日韩大胆人体377p| 亚洲成年网站在线观看| 亚洲欧美制服第一页| 成人黄色激情网| 97精品国产97久久久久久| 911国产网站尤物在线观看| 亚洲国产欧美日韩精品| 久久大大胆人体| 色婷婷综合久久久久中文字幕1| 日韩av手机在线| 亚洲电影免费观看高清完整版在线观看| 成人日韩在线电影| 91精品在线观看视频| 国产热re99久久6国产精品| 亚洲精品影视在线观看| 欧美激情亚洲精品| 日韩精品在线免费观看视频| 69**夜色精品国产69乱| 日韩美女激情视频| 国产精品一区电影| 91大神在线播放精品| 亚洲欧美变态国产另类| 欧美成人免费网| 狠狠躁夜夜躁人人躁婷婷91| 亚洲人午夜精品免费| 日韩精品亚洲视频| 一本一道久久a久久精品逆3p| 国产97免费视| 91探花福利精品国产自产在线|