zoukankan      html  css  js  c++  java
  • 缓存

    H4
    一、Cookie

      (1)
      document.cookie="userId=828";
      document.cookie="userId=828; userName=hulk";
      escape()
      unescape()
      (2)
      document.cookie

      (3)
      document.cookie="userId=828; expires=GMT_String";

      ① 保存用户登录状态
      ② 跟踪用户行为
      ③ 定制页面

      ④

        最大为 4096 字节的 Cookie
        每个站点存储 20 个 Cookie
        总站点300 个 Cookie
        Cookie默认情况都会随着Http请求发送到后台服务器

     

     

    var exp = new Date();
    exp.setTime(exp.getTime() + 1000 * 60 * 60 * 24 * 0.5); //这里表示保存24小时
    document.cookie = "music_identify=" + true + ";expires=" + exp.toGMTString();

    function getCookie(name) {
    var strCookie = document.cookie;
    var arrCookie = strCookie.split("; ");
    for (var i = 0; i < arrCookie.length; i++) {
    var arr = arrCookie[i].split("=");
    if (arr[0] == name)
    return arr[1];
    }
    return "";
    }

     

    H5

      localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。
      sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了

    二、本地存储(1.5MB以上   | 无尽河流,飞机大战)

    (1)下面的代码片段访问当前域名下的本地 Storage 对象,并增加了一个数据项通过使用Storage.setItem()。
      localStorage.setItem(`myCat`, `Tom`);
    (2)该语法用于读取 localStorage 项,如下:
      localStorage.getItem(`myCat`);
    (3)该语法用于移除 localStorage 项,如下:
      localStorage.removeItem(`myCat`);
    (4)该语法用于移除所有的 localStorage 项,如下:
      // 移除所有
      localStorage.clear();

    localStorage['fishinglegendHighScore']   = 10/1000/9999


      存储大小限制测试及异常处理
      不同浏览器对 HTML5 的本地存储大小基本均有限制,一个测试的结果如下
      IE 9 > 4999995 + 5 = 5000000
      firefox 22.0 > 5242875 + 5 = 5242880
      chrome 28.0 > 2621435 + 5 = 2621440
      safari 5.1 > 2621435 + 5 = 2621440
      opera 12.15 > 5M (超出则会弹出允许请求更多空间的对话框)
      数据存储异常处理
      try{
      localStorage.setItem(key,value);
      }catch(oException){
      if(oException.name == 'QuotaExceededError'){
      console.log('超出本地存储限额!');
      //如果历史信息不重要了,可清空后再设置
      localStorage.clear();
      localStorage.setItem(key,value);
      } }

    三、sessionStorage

    sessionStorage的操作方法基本与localStorage一致。
    (1)sessionStorage.setItem(key,value):添加本地存储数据。

    (2)sessionStorage.getItem(key):通过key获取相应的Value。

    (3)sessionStorage.removeItem(key):通过key删除本地数据。

    (4)sessionStorage.clear():清空数据。

    (function() {
        if(!window.localStorage) {
            console.log('当前浏览器不支持localStorage!')
        }    
        var test = '0123456789';
        var add = function(num) {
            num += num;
            if(num.length == 10240) {
                test = num;
                return;
            }
            add(num);
        }
        add(test);
        var sum = test;
        var show = setInterval(function(){
            sum += test;
            try {
                window.localStorage.removeItem('test');
                window.localStorage.setItem('test', sum);
                console.log(sum.length / 1024 + 'KB');
            } catch(e) {
                alert(sum.length / 1024 + 'KB超出最大限制');
                clearInterval(show);
            }
        }, 0.1)
    })()
    View Code

    四、webSql(本地数据库)

  • 相关阅读:
    hdu 2106 decimal system
    00-自测4. Have Fun with Numbers (20)
    07-图4. Saving James Bond
    hdu 2209 翻纸牌游戏
    hdu 1272 小希的迷宫
    1969 Pie
    怎样维护 SQLite
    Navicat使用亮点
    Navicat for MySQL 11 Mac安装教程
    Navicat for PostgreSQL 运算符有哪些类别
  • 原文地址:https://www.cnblogs.com/lgyong/p/9281353.html
Copyright © 2011-2022 走看看