• HTML5本地存储LocalStorage和sessionStorage


    以前用wordpress做博客的时候,我做了个点赞的功能。设计这个点赞功能的时候,为防止访客不断刷赞,得做个时间间隔限制,首先我的设计方案是在数据库里记录ip和点赞的时间,后来一想那还得维护数据库(其实是觉得都没人点赞还弄得那么严格搞什么),果断改成把数据放到本地保存。
    本地存储数据首先想到得是cookie和html5的 localStorage。
    cookie兼容性好,但是存储的数据量太少;localStorage存储量大,但是兼容性不是很好,毕竟ie6之流还是有不少份额的。最后考虑到 html5才是顺势而为的做法以及如果两者都使用来保证兼容性的话那还不如直接用cookie,我选择使用了localStorage.好了p话说完,正 式进入正题。HTML5本地存储localStorage、sessionStorage介绍。
    在HTML5中,本地存储是一个window的属性,包括localStoragesessionStorage,二者用法完全相同。但是前者是一直存在本地的,后者只是伴随着session,窗口一旦结束就没了。下面我能先用代码来验证下两者的区别

    var _d = new Date().getTime();
    if(window.localStorage){
        localStorage.setItem(_d,_d);
        sessionStorage.setItem(_d,_d);
    }
    

      将这段代码放到页面的script中,在chrome中运行后,查看localStorage和sessionStorage,然后关闭页面再打开打开页 面,对比localStorage和sessionStorage的变化
    可以发现localStorage数据一直再增加,而 sessionStorage页面重新打开的时候始终只一个数据。


    说完区别再来说说两者的操作方法,因为两者的用法是一样的,这里就拿localStorage来示例:

    if(window.localStorage){ //判断浏览器是否支持localStorage
        localStorage.setItem("userName","coolfish");//保存一个数据  key 和value 
        len =localStorage.length;//读取localStorage的数据的长度
        userName =localStorage.getItem("userName");//读取key为userName的数据      
        localStorage.removeItem("userName");//删除key为userName的数据
        localStorage.clear();//清空所有的数据
    }

    另外一个要注意的地方是:本地存储的数据都是string!

  • 相关阅读:
    334 Increasing Triplet Subsequence 递增的三元子序列
    332 Reconstruct Itinerary 重建行程单
    331 Verify Preorder Serialization of a Binary Tree 验证二叉树的前序序列化
    330 Patching Array
    329 Longest Increasing Path in a Matrix 矩阵中的最长递增路径
    328 Odd Even Linked List 奇偶链表
    327 Count of Range Sum 区间和计数
    326 Power of Three 3的幂
    Java中的Class.forName
    巧用Java中Calendar工具类
  • 原文地址:https://www.cnblogs.com/fixbug/p/4004380.html
Copyright © 2020-2023  润新知