• 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 的方式。

  • 相关阅读:
    python字符串字典列表互转
    列表迭代器 ListIterator
    并发修改异常处理
    二月天 案例
    Calendar类
    Date类
    冒泡排序
    内部类
    python第三天
    Layui——checkbox使用
  • 原文地址:https://www.cnblogs.com/jijm123/p/8434044.html
Copyright © 2020-2023  润新知