码迷,mamicode.com
首页 > 其他好文 > 详细

localStorage和sessionStorage的区别

时间:2014-11-04 13:03:46      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   使用   sp   数据   

//在chrome测试的结果;

知识点1:localStorage和sessionStorage的区别; localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。 sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了。

	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
    

localStorage和sessionStorage的区别

标签:style   blog   http   io   color   ar   使用   sp   数据   

原文地址:http://www.cnblogs.com/diligenceday/p/4073136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!