zoukankan      html  css  js  c++  java
  • IE 之 userData 模拟 localStorage

    chrome,  safari, firefox, ie 9都支持 localStorage.  但可恶的是,中国 ie 6 占有最大的比例。 使用 cookie 不但容量有限,而且给我们增加了不少的带宽,也进行影响网站的性能。

    所以我写了 localStorage.js 来模拟 localStorage, 这样其它js 就跨浏览器地使用localStorage了.

    代码

    if(!window.localStorage && /MSIE/.test(navigator.userAgent)){ 
        if(!window.UserData) { 
            window.UserData = function(file_name) { 
                if(!file_name) file_name="user_data_default"; 
                var dom = document.createElement('input'); 
                dom.type = "hidden"; 
                dom.addBehavior ("#default#userData"); 
                document.body.appendChild(dom); 
                dom.save(file_name); 
                this.file_name = file_name; 
                this.dom = dom; 
                return this; 
            };

            window.UserData.prototype = { 
                setItem:function(k, v) 
                { 
                    this.dom.setAttribute(k,v); 
                    this.dom.save(this.file_name); 
                }, 
                getItem:function(k){ 
                    this.dom.load(this.file_name); 
                    return this.dom.getAttribute(k); 
                }, 
                removeItem:function(k){ 
                    this.dom.removeAttribute(k); 
                    this.dom.save(this.file_name); 
                },

                clear:function() { 
                   this.dom.load(this.file_name); 
                   var now = new Date(); 
                   now = new Date(now.getTime()-1); 
                   this.dom.expires = now.toUTCString(); 
                   this.dom.save(this->file_name); 
                } 
            }; 
        } 
        window.localStorage= new window.UserData("local_storage"); 
    }

    缺陷

           userdata有个缺陷是不支持跨目录存储。

           这个实现要求 使用 localStorage的时候,只使用 setItem, getItem, removeItem接口, 而不能直接使用 localStorage.your_key 的方式。

  • 相关阅读:
    js 点击列表li,获得当前li的id
    PHP松散比较与严格比较的区别详解
    电赛总结(二)——AD芯片总结之AD7705
    C++Premer Plus学习(五)——函数探幽
    FPGA学习
    AD7715
    电赛初探(二)——语音采集回放系统
    MATLAB信号与系统分析(五)——连续时间信号的频谱分析
    MATLAB信号与系统分析(四)——离散信号与系统的复频域分析及MATLAB实现
    MATLAB信号与系统分析(三)——连续信号与系统的复频域分析及MATLAB实现
  • 原文地址:https://www.cnblogs.com/jijm123/p/8434044.html
Copyright © 2011-2022 走看看