<track id="f1xuz"><ruby id="f1xuz"><tt id="f1xuz"></tt></ruby></track>
<p id="f1xuz"></p>
  • 0712-2888027 189-8648-0214
    微信公眾號

    孝感風信網絡科技有限公司微信公眾號

    當前位置:主頁 > 技術支持 > Javascript/JQuery > 設置緩存數據js源代碼cache.js

    設置緩存數據js源代碼cache.js

    時間:2023-10-02來源:風信官網 點擊: 702次
    設置緩存數據js源代碼cache.js,可用于在瀏覽器中利用js緩存數據,需要的小伙伴可以了解一下。
     
    cache.js源代碼如下:
     
    $.extend($, {
        Cache : {
            userData: false,
            supportLocalStorage: typeof localStorage == 'object' ? true : false,
            name: location.hostname,
     
            init: function () {
                if ( $.Cache.supportLocalStorage )
                    return false;
                if ( !$.Cache.userData ) {
                    try {
                        $.Cache.userData = document.createElement('INPUT');
                        $.Cache.userData.type = "hidden";
                        $.Cache.userData.style.display = "none";
                        $.Cache.userData.addBehavior("#default#userData");
                        document.body.appendChild($.Cache.userData);
                        var expires = new Date();
                        expires.setDate(expires.getDate() + 365);
                        $.Cache.userData.expires = expires.toUTCString();
                    } catch (e) {
                        return false;
                    }
                }
                return true;
            },
     
            set: function (key, value, expire) {
                if ( typeof value == 'object' ) {
                    value = JSON.stringify(value);
                }
                if ( expire == undefined )
                    expire = 0;
     
                if ( $.Cache.init() ) {
                    $.Cache.userData.load($.Cache.name);
                    $.Cache.userData.setAttribute(key, value);
                    if ( expire > 0 ) {
                        var timestamp = Date.parse(new Date());
                        var expiration = timestamp + expire;
                        $.Cache.userData.setAttribute(key + "_EXPIRE", expiration);
                    }
                    $.Cache.userData.save($.Cache.name);
                } else {
                    localStorage.setItem(key, value);
                    if ( expire > 0 ) {
                        var timestamp = Date.parse(new Date());
                        var expiration = timestamp + expire;
                        localStorage.setItem(key + "_EXPIRE", expiration);
                    }
                }
            },
     
            get: function (key) {
                var val;
                var timestamp = Date.parse(new Date());
                if ( $.Cache.init() ) {
                    $.Cache.userData.load($.Cache.name);
                    val = $.Cache.userData.getAttribute(key);
                    var expiration = $.Cache.userData.getAttribute(key + "_EXPIRE");
                    if ( expiration != null && expiration != undefined && expiration > 0  ) {
                        if ( expiration < timestamp) {
                            $.Cache.userData.removeAttribute(key);
                            $.Cache.userData.removeAttribute(key + "_EXPIRE");
                            return undefined;
                        }
                    }
                } else {
                    val = localStorage.getItem(key);
                    var expiration = localStorage.getItem(key + "_EXPIRE");
                    if ( expiration != null && expiration != undefined && expiration > 0 ) {
                        if ( expiration < timestamp) {
                            localStorage.removeItem(key);
                            localStorage.removeItem(key + "_EXPIRE");
                            return undefined;
                        }
                    }
                }
                if ( val == null || val == undefined || val == "" )
                    return undefined;
                if ( val.indexOf("{") == 0 || val.indexOf("[") == 0 ) {
                    return JSON.parse(val);
                }
                return val;
            },
            del : function(key) {
                if ( $.Cache.init() ) {
                    $.Cache.userData.load($.Cache.name);
                    $.Cache.userData.removeAttribute(key);
                    $.Cache.userData.removeAttribute(key + "_EXPIRE");
                } else {
                    localStorage.removeItem(key);
                    localStorage.removeItem(key + "_EXPIRE");
                }
            },
        }
    });
     
    使用方法演示:
     
    $(function(){
    var cacheCity = $.Cache.get('city');
            var cacheCity_id = $.Cache.get('city_id');
     
            if ( cacheCity ) {
                $("input[name=city]").val(cacheCity);
            }
     
            if(cacheCity_id){
                $("input[name=city_id]").val(cacheCity_id);
            }
    }
     
    緩存數據可直接賦值給input,使用起來還是非常方便的。
    熱門關鍵詞: 緩存數據 js 源代碼 cache.js
    欄目列表
    推薦內容
    熱點內容
    展開
    美女自慰网站,亚洲一级a√无码,亚洲精品高清线久久,A大片免费久久精品