//在chrome測試的結果;html
知識點1:localStorage和sessionStorage的區別; localStorage生命週期是永久,這意味着除非用戶顯示在瀏覽器提供的UI上清除localStorage信息,不然這些信息將永遠存在。 sessionStorage生命週期爲當前窗口或標籤頁,一旦窗口或標籤頁被永久關閉了,那麼全部經過sessionStorage存儲的數據也就被清空了。chrome
localStorage的方法: localStorage.clear(); localStorage.getItem(); localStorage.key(); localStorage.setItem(); localStorage.removeItem(); sessionStorage的方法是在localStorage的方法上多了一個length; 注意 localStorage提供了事件;
if(window.addEventListener){ window.addEventListener("storage",handle_storage,false); }else if(window.attachEvent){ window.attachEvent("onstorage",handle_storage); }; function handle_storage(e){ e = e || window.e; console.log(e); };
/*注意: storage事件的觸發彷佛有點問題, 自身頁面進行setItem後沒有觸發window的storage事件, 可是同時訪問A.html和B.html, 在A頁面中進行 setItem能觸發B頁面中window的storage事件, 一樣的在B頁面中進行setItem能觸發A頁面中window的storage事件. 在IE9中, 頁面自身的設值能觸發當前頁面的storage事件,一樣當前頁面的設值能觸發同一」起源」下其餘頁面window的storage事件,這看起來彷佛更 讓人想的通些. Read More : http://www.cnblogs.com/shihao/archive/2011/12/23/2298854.html */ //因此要觸發當前頁面的localStorage要用自定義事件,咱們要本身封裝一個;
var Storage = { setItem : function(k,v){ var se = document.createEvent("StorageEvent"); se.initStorageEvent('storage', false, false, k, localStorage.getItem(k), v, "", ""); window.dispatchEvent(se); localStorage.setItem(k,v); }, removeItem : function(k){ localStorage.removeItem(k); var se = document.createEvent("StorageEvent"); se.initStorageEvent('storage', false, false, k, localStorage.getItem(k), v, "", ""); window.dispatchEvent(se); } }; //使用自定義事件吧 window.addEventListener("storage",function(e){ console.log(e); },false);
//Read More : http://www.cnblogs.com/cczw/p/3196195.html
//本地存儲在各個瀏覽器中的存在位置(都是在AppData的不一樣目錄下);
C:\Users\Username\AppData\Local\Google\Chrome\User Data\Default\Local Storage\ ; //找到了,保存的事2進制文件
C:\Users\your-account-name\AppData\Local\Mozilla\Firefox\Profiles\ //沒找到
C:\Users\XXX\AppData\Local\Microsoft\Internet Explorer\DOMStore\ // can't find