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;
            }
        }
    }
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容