關於HTML5本地緩存技術LocalStorage 本地存儲 和 SessionStorage

若是你想在用戶訪問的時候記錄或者記住他們的行爲,你會想到的是什麼,cookie 和session。但今天告訴你還有兩種或者說是1種吧 那就是html5的 LocalStorage 本地存儲和 SessionStorage 本地存儲基於會話html

查看瀏覽器是否支持,(但如今主流瀏覽器基本都支持):html5

 if(window.sessionStorage){     alert("瀏覽支持sessionStorage") }else{    alert("瀏覽暫不支持sessionStorage") }

  在js文件中的使用很簡單:瀏覽器

var storage = window.sessionStorage;
var utm_source = "{:$utm_source}";
if(utm_source){
        storage.setItem('utm_source',utm_source);
}

alert(storage.getItem('utm_source'));

LocalStoragecookie

SessionStoragesession

二者使用格式都同樣,但區別是 SessionStorage基於會話,關閉瀏覽器會消失。而LocalStorage 須要使用銷燬:spa

存儲數據的方法就是直接給window.localStorage添加一個屬性,例如:window.localStorage.a 或者 window.localStorage["a"]。它的讀取、寫、刪除操做方法很簡單,是以鍵值對的方式存在的,以下:code

localStorage.a = 3;//設置a爲"3"
localStorage["a"] = "sfsf";//設置a爲"sfsf",覆蓋上面的值
localStorage.setItem("b","isaac");//設置b爲"isaac"
var a1 = localStorage["a"];//獲取a的值
var a2 = localStorage.a;//獲取a的值
var b = localStorage.getItem("b");//獲取b的值
localStorage.removeItem("c");//清除c的值

 

 

這裏最推薦使用的天然是getItem()setItem(),清除鍵值對使用removeItem()。若是但願一次性清除全部的鍵值對,能夠使用clear()。另外,HTML5還提供了一個key()方法,能夠在不知道有哪些鍵值的時候使用,以下:htm

var storage = window.localStorage;
function showStorage(){
 for(var i=0;i<storage.length;i++){
  //key(i)得到相應的鍵,再用getItem()方法得到對應的值
  document.write(storage.key(i)+ " : " + storage.getItem(storage.key(i)) + "<br>");
 }
}

固然還有更多相關的文章能夠點擊這裏: 連接1 連接2blog

 

寫一個最簡單的,利用本地存儲的計數器:rem

var storage = window.localStorage;
if (!storage.getItem("pageLoadCount")) storage.setItem("pageLoadCount",0);
storage.pageLoadCount = parseInt(storage.getItem("pageLoadCount")) + 1;//必須格式轉換
document.getElementByIdx_x("count").innerHTML = storage.pageLoadCount;
showStorage();
相關文章
相關標籤/搜索