HTML5 提供了兩種在客戶端存儲數據的新方法: localStorage - 沒有時間限制的數據存儲 sessionStorage - 針對一個 session 的數據存儲 SessionStorage, LocalStorage, Cookie這三者都可以被用來在瀏覽器端存儲數據,localSt ...
HTML5 提供了兩種在客戶端存儲數據的新方法:
- localStorage - 沒有時間限制的數據存儲
- sessionStorage - 針對一個 session 的數據存儲
SessionStorage, LocalStorage, Cookie這三者都可以被用來在瀏覽器端存儲數據,localStorage和sessionStorage都是本地存儲。
Cookie會在每次發送HTTP請求時附加到Cookie
頭欄位,伺服器以此得知用戶所處的狀態。
Web Storage的概念和cookie相似,區別是它是為了更大容量存儲設計的。Cookie的大小是受限的,並且每次你請求一個新的頁面的時候Cookie都會被髮送過去,這樣無形中浪費了帶寬,另外cookie還需要指定作用域,不可以跨域調用。
sessionStorage是會話型的,就是說如果你關閉了瀏覽器,它的數據就會被刪除掉。
localStorage是持久型的,不存在過期這個說法,除非你手動刪除。
手動引用一下 http://harttle.com/2015/08/16/localstorage-sessionstorage-cookie.html 的鏈接
引用內容如下:
LocalStorage/SessionStorage提供的存儲也是基於字元串的鍵值對。可以通過setItem
,getItem
來訪問其中的存儲項:
localStorage.clear();
localStorage.setItem('key', 'value');
localStorage.getItem('key'); // => 'value'
localStorage.removeItem('key');
因為它只能存儲字元串,要存JSON只能序列化為字元串:
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
console.log('retrievedObject: ', JSON.parse(retrievedObject));