在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ 數(shù)據(jù)存儲(chǔ)
書(shū)單
JavaScript 動(dòng)畫(huà)
HTML
CSS Reset
屬性操作
DOM 事件
閉包
Photoshop
Atom 文本編輯器
表單操作
布局解決方案
類(lèi)型系統(tǒng)
開(kāi)發(fā)實(shí)踐
數(shù)據(jù)通信
變量作用域
BOM
JavaScript 程序設(shè)計(jì)
前端工程師概述
CSS
響應(yīng)式布局
表達(dá)式與運(yùn)算符
基本語(yǔ)法
JavaScript 介紹
版本控制
布局
調(diào)試器
背景
圖片保存
多媒體
文檔樹(shù)
列表操作
Sublime 編輯器
盒模型
常見(jiàn)布局樣例
類(lèi)型識(shí)別
變形
數(shù)據(jù)存儲(chǔ)
選擇器
頁(yè)面架構(gòu)
開(kāi)發(fā)及調(diào)試工具
頁(yè)面模塊化
節(jié)點(diǎn)操作
測(cè)量及取色
瀏覽器兼容
HTML 簡(jiǎn)介
內(nèi)置對(duì)象
實(shí)體字符
產(chǎn)品前端架構(gòu)
協(xié)作流程
切圖
工具, 面板, 視圖
正則表達(dá)式
動(dòng)畫(huà)
語(yǔ)句
面向?qū)ο?/span>
HTML 語(yǔ)法
HTML 標(biāo)簽
技術(shù)選擇
樣式操作
圖片優(yōu)化與合并
語(yǔ)法
DOM 編程藝術(shù)
Canvas
接口設(shè)計(jì)
頁(yè)面優(yōu)化
文本

數(shù)據(jù)存儲(chǔ)

數(shù)據(jù)存儲(chǔ)

Cookie

瀏覽器中的 Cookie 是指小型文本文件,通常在 4KB 大小左右。(由鍵值對(duì)構(gòu)成用 ; 隔開(kāi))大部分時(shí)候是在服務(wù)器端對(duì) Cookie 進(jìn)行設(shè)置,在頭文件中 Set-Cookie 來(lái)對(duì) Cookie 進(jìn)行設(shè)置。

頁(yè)面可以訪(fǎng)問(wèn)當(dāng)前頁(yè)的 Cookie 也可以訪(fǎng)問(wèn)父域的 Cookie。

屬性

屬性 默認(rèn)值 作用
Name(必填)
Value(必填)
Domain 當(dāng)前文檔域 作用域
Path 當(dāng)前文檔路徑 作用路徑
Expires(時(shí)間戳)/Max-Age(毫秒數(shù)值) 瀏覽器會(huì)話(huà)時(shí)間 失效事件
Secure false https 協(xié)議時(shí)生效

作用域

設(shè)置作用域

http://wiki.jikexueyuan.com/project/fend_note/images/C/cookie-domain.jpg" alt="" />

設(shè)置作用路徑

http://wiki.jikexueyuan.com/project/fend_note/images/C/cookie-path.jpg" alt="" />

讀取

下面轉(zhuǎn)換 Cookie 至 JavaScript 對(duì)象的函數(shù)。

function getcookie() {
  var cookie = {};
  var all = document.cookie;
  if (all === '') return cookie;
  var list = all.split('; ');
  for (var i = 0, len = list.length; i < len; i++) {
    var item = list[i];
    var p = item.indexOf('=');
    var name = item.substring(0, p);
    name = decodeURIComponent(name);
    var value = item.substring(p + 1);
    value = decodeURIComponent(value);
    cookie[name] = value;
  }
  return cookie;
}

設(shè)置與修改

document.cookie = 'name=value';

下面為設(shè)置 Cookie 值的封裝函數(shù)。

function setCookie(name, value, expires, path, domain, secure) {
  var cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);
  if (expires)
    cookie += '; expires=' + expires.toGMTString();
  if (path)
    cookie += '; path=' + path;
  if (domain)
    cookie += '; domain=' + domain;
  if (secure)
    cookie += '; secure=' + secure;
  document.cookie = cookie;
}

下面為刪除** Cookie 值的函數(shù)

function removeCookie(name, path, domain) {
  document.cookie = 'name=' + name + '; path=' + path + '; domain=' + domain + '; max-age=0';
}

Cookie 缺陷

  • 流量代價(jià)
  • 安全性(明文傳遞)
  • 大小限制

Storage

因?yàn)?Cookie 弊端的存在,所以在 HTML5 中提供了 Storage 的替代方案。

作用域的不同 Storage 分為 Local Storage 和 Session Storage,前者在用戶(hù)不清理的情況下默認(rèn)時(shí)間為永久,后者默認(rèn)事件則為瀏覽器的會(huì)話(huà)時(shí)間(瀏覽器不同窗口直接不共享 Session Storage)。

http://wiki.jikexueyuan.com/project/fend_note/images/S/storage-scope.png" alt="" />

不同瀏覽器對(duì)其實(shí)現(xiàn)的不同導(dǎo)致支持大小也不太,通常在 5MB 作用。

對(duì)象

讀取

localStorage.name

添加或修改

localStorage.name = 'Value';

瀏覽器只支持字符串在 Storage 中的存儲(chǔ)。

刪除

delete localStorage.name

API

使用 API 操作 Storage 可以進(jìn)行向下兼容的功能,在不支持的情況下可以用 Cookie 來(lái)代替。

  • localStorage.length 獲取鍵值對(duì)數(shù)量
  • localStorage.getItem('name') 獲取對(duì)應(yīng)值
  • localStorage.key(i) 對(duì)應(yīng)值的索引獲取
  • localStorage.setItem('name', 'value') 設(shè)置鍵值對(duì)
  • localStorage.removeItem('name') 刪除一個(gè)值
  • localStorage.clear() 刪除所有數(shù)據(jù)
上一篇:樣式操作下一篇:數(shù)據(jù)通信