H5 web 存儲之 Webstorage


H5提供了兩種在客戶端存儲數據的方式:
localStorage 持久化的本地存儲(瀏覽器關閉重新打開數據依然存在)
sessionStorage 針對一個session的本地存儲
之前這些都是由cookie來完成的,cookie的特點是存儲量小,在服務器和客戶端之間來回傳遞,傳輸效率不高。一般可以在判斷注冊的用戶是否登錄該本網站。
webStorage API 繼承於Window對象,並提供了兩個新的屬性-Window.localStorage 和 Window.sessionStorage.
webStorage的優勢:

  1. 相比cookie存儲容量增加
  2. 可以將請求的表單數據存於本地,減少http請求,節約帶寬
  3. webStorage擁有易用的API

webStorage的局限性:

  1. 不同瀏覽器webStorage 和LocalStorage的大小不統一。
  2. 在瀏覽器的隱私模式下面是不可讀取的
  3. 本質上是對字符串的讀取,因此存儲內容過多時頁面會變卡
  4. 不能被爬蟲抓取到

使用webStorage
1.存儲數據:
  localStorage.name = 'value';
  localStorage['name'] = 'value';
  localStorage.setItem('name','value');
  注意鍵和值總是字符串。建議使用webStorage API(setItem,getItem,removeItem,key,length)
2.獲取數據:
  var value = localStorage.getItem('name');
  var value = localStorage.name;
  var value = localStorage['name'];
3.刪除數據:
  清空所有數據
    localStorage.clear();
  刪除特定數據;
    localStorage.removeItem('name');
4.檢測瀏覽器是否支持:
  function storageAvailable(type) {
    try {
      var storage = window[type],
      x = '__storage_test__';
      storage.setItem(x, x);
      storage.removeItem(x);
      return true;
    }
    catch(e) {
      return false;
    }
  }
  if (storageAvailable('localStorage')) {
    // Yippee! We can use localStorage awesomeness
  }
  else {
    // Too bad, no localStorage for us
  }
5.就是存儲對象了,我們需要進行轉換為字符串存入,等到使用的時候取出再轉為對象。
  var str = JSON.stringify(obj);
  localStorage.mydata = str;
  var obj = JSON.parse(localStorage.mydata);
到這里就結束了,算是對webStorage基本使用的一些小總結,希望可以對你有所幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM