zoukankan      html  css  js  c++  java
  • Html5 localStorage 缓存

    1.客户端页面临时存贮数据变化多段,cookie ,session, data-xxx , hidden input 这些司空见惯不废话,我们采用 localStorage
    特点:1.数据不会删除,除非显示调用 clear.   2.数据量大 最大据有关测试为 2.6M左右 
    本次使用场景是:需要加载一部分数据,数据量比较大,更新不频繁。采用 localStorage   页面主要代码如下:

    <script type="text/javascript">
        var curtime = new Date().getTime();
        var exp = 5;//5分钟后过期
        if (window.localStorage) {
            //支持
            alert("支持");
        } else {
            //不支持
            alert("不支持");
        }
        cacheInit();
        function cacheInit() {
            var exp = localStorage.getItem("exp");
            if (!exp) {
                localStorage.setItem("exp", curtime);//JSON.stringify({val:value,time:curtime}) 可设置缓存对象 eg: json对象等
            }
        }
        function setCache(key, val) {
            localStorage.setItem(key, val);
        }
        function getCache(key, delay) {
            delay = delay || exp;
            var exp_temp = localStorage.getItem("exp");
            var temp_dely = ((new Date().getTime() - exp_temp) / 60000);
            if (temp_dely > delay) {
                localStorage.clear();//过期后清除缓存
                cacheInit();
            } else {
                return localStorage.getItem(key);//获取存储的元素JSON.parse(localStorage.getItem(key))
            }
        }
        function Test() {
            alert("test");
            setCache("01", "001");
        }
        function TestGet(obj) {
            return getCache("01", obj);
        }
    </script>

    PS:适合客户端做一些数据的存贮。调用 插入 :setCache(key, val)   获取:getCache(key, 6) 即可。 

  • 相关阅读:
    项目开发基础概念
    django 对接elasticsearch实现全文检索
    win10安装docker
    Mac VMware Fusion 中修改 centos7 虚拟机的磁盘空间、扩容
    CentOS 7下 YUM 本地仓库的搭建
    mac与虚拟机传输文件
    mac和windows快速锁定电脑
    rpm -qa详解
    虚拟机安装centos6
    mac与iPhone互传文件
  • 原文地址:https://www.cnblogs.com/LiMin/p/5309126.html
Copyright © 2011-2022 走看看