localStorage本地持久化兼容IE浏览器

localStorage存储数据,IE下面使用cookie进行兼容

var util = {
        // 获取 localStorage
        getItem:function (item) {
            var value;
            if (this.hasLocalSotrage()) {
                try {
                    value = localStorage.getItem(item);
                }
                catch (error) {
                    console.error('localStorage.getItem报错, ', error.message)
                }
                finally {
                    return value;
                }
            }
            else {
                return this.getCookie(item);
            }
        },
        // 设置 localStorage
        setItem:function (key, value, day) {
            if (this.hasLocalSotrage()) {
                try {
                    localStorage.setItem(key, value);
                }
                catch (error) {
                    console.error('localStorage.setItem报错, ', error.message)
                }
            }
            else {
                this.setCookie(key, value, day);
            }
        }, 
        // 判断浏览器是否支持 hasLocalSotrage
        hasLocalSotrage:function () {
            return window.Storage && window.localStorage && window.localStorage instanceof Storage
        }, 
        //设置cookie
        setCookie:function (key, value, day) {
            var t = day || 30;
            var d = new Date();
            d.setTime(d.getTime() + (t * 24 * 60 * 60 * 1000));
            var expires ="expires="+ d.toUTCString();
            document.cookie = key + "=" + value + "; " + expires;
        }, 
        //获取cookie
        getCookie:function (name) {
            var arr, reg = new RegExp("(^|)" + name + "=([^]*)(|$)");
            if (arr = document.cookie.match(reg)) {
                return arr[2];
            }
            else {
                return null;
            }
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容