首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >H5缓存

H5缓存

作者头像
天天_哥
发布于 2018-09-29 06:09:54
发布于 2018-09-29 06:09:54
1.2K00
代码可运行
举报
文章被收录于专栏:天天天天
运行总次数:0
代码可运行
1.sessionStorage
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script type="text/javascript">
    var txt = document.querySelector('input');
    var btns = document.querySelectorAll('button');
    //存储数据
    btns[0].onclick=function(){
        sessionStorage.setItem('userName',txt.value);
        sessionStorage.setItem('pwd','123456');
        sessionStorage.setItem('age',18);
    }
    //获取数据
    btns[1].onclick=function(){
        txt.value = sessionStorage.getItem('age');
    }
    //更新数据
    //键值是唯一的
    btns[2].onclick=function(){
        sessionStorage.setItem('userName',txt.value)
    }
    //删除数据
    btns[3].onclick=function(){
        //只是清除指定的值
        sessionStorage.removeItem('userName');
    }
    //清空所有的储存
    btns[4].onclick=function(){
        sessionStorage.clear();
    }
</script>
2.localStorage
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script type="text/javascript">
    var txt = document.querySelector('input');
    var btns = document.querySelectorAll('button');
    btns[0].onclick=function(){
        var obj = {'a':1,'b':2};
        //将json数据转换为字符串
        obj = JSON.stringify(obj);
        localStorage.setItem('json',obj);
    }
    btns[1].onclick=function(){
        //将字符串解析为json数据
        var s = JSON.parse(localStorage.getItem('json'));
        txt.value = s.a
    }
</script>
sessionStorage/localStorage都拥有setItem,getItem,removeItem,clear等方法
3.localStorage使用案例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--//-------------------------------------->
<div class="box">
    <p>会员中心</p>
    <ul id="service">
        <li class="item">
            <p>首页</p>
            <ul>
                <li>12</li>
                <li>13</li>
                <li>14</li>
            </ul>
        </li>
        <li class="item">
            <p>微信</p>
            <ul>
                <li>22</li>
                <li>23</li>
                <li>24</li>
                <li>25</li>
                <li>26</li>
            </ul>
        </li>
        <li class="item">
            <p>个人中心</p>
            <ul>
                <li>32</li>
                <li>33</li>
                <li>34</li>
                <li>35</li>
            </ul>
        </li>
        <li class="item">
            <p>商城</p>
            <ul>
                <li>42</li>
                <li>43</li>
                <li>44</li>
                <li>44</li>
            </ul>
        </li>
    </ul>
</div>
<script>
    var list = document.getElementById("service").getElementsByTagName("p");
    var item = document.getElementsByClassName("item");
    var arr = [0,0,0,0];//代表着项目列表的开启状态,0代表收起,1代表展开
    for (var i = 0; i < list.length; i++) {
        list[i].index = i;
        //判断项目列表是展开还是收起状态,能够实现连续点击的切换
        list[i].onclick = function () {
            if(arr[this.index]==0){
                this.nextElementSibling.style.display = "block";
                arr[this.index]=1;
                localStorage.setItem("chioce",JSON.stringify(arr));
            }else if(arr[this.index]==1){
                this.nextElementSibling.style.display = "none";
                arr[this.index]=0;
                localStorage.setItem("chioce",JSON.stringify(arr));
            }
        }
    }

    //判断是否存在,不存在按照arr渲染,因为第一次打开页面的时候,没有localStorage.chioce;
    if(localStorage.chioce){
        chioce =JSON.parse(localStorage.chioce);
        for (var k = 0; k < chioce.length; k++) {
            console.log(chioce[k]);
            if (chioce[k] == 0) {
                item[k].children[1].style.display = "none";
            }else{
                item[k].children[1].style.display = "block";
            }
        }
    }else{
        chioce =arr;
        for (var n = 0; n < chioce.length; n++) {
            console.log(chioce[n]);
            if (chioce[n] == 0) {
                item[n].children[1].style.display = "none";
            }else{
                item[n].children[1].style.display = "block";
            }
        }
    }

</script>
<!--在页面刷新时,同样能得到刷新前的用户操作(页面和刷新前时一样的)-->
<!--//------------------------------------>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.11.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
前端学习(5)~html详解(三)
随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,传统方式我们以document.cookie来进行存储的,但是由于其存储大小只有4k左右,并且解析也相当的复杂,给开发带来诸多不便,HTML5规范则提出解决方案。
Vincent-yuan
2020/02/23
7420
JS:Web Storage API(localStorage、sessionStorage)
Web Storage API 提供了存储机制,通过该机制,浏览器可以安全地存储键值对,比使用 cookie 更加直观。Web Storage 包含如下两种机制:
WEBJ2EE
2020/05/09
1.5K0
JS:Web Storage API(localStorage、sessionStorage)
sessionStorage和localStorage的语法使用,区别和联系
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。
德顺
2019/11/12
1.3K0
VUE2.0 学习(十九)浏览器本地存储localStorage 和 sessionStorage
目录 localStorage sessionStorage 两者区别 localStorage <script type="text/javascript" > let p = {name:'张三',age:18} // 保存一个数据 function saveData(){ localStorage.setItem('msg','hello!!!') localStorage.setItem('msg2',666) localStorage.setItem('pe
一写代码就开心
2021/10/26
7350
基于vue2.0+vuex+localStorage开发的本地记事本
本文采用vue2.0+vuex+localStorage+sass+webpack,实现一个本地存储的记事本。兼容PC端和移动端。 在线预览地址:DEMO 功能说明 支持回车添加事件 支持事件状态切换
IMWeb前端团队
2017/12/29
1.3K0
JavaScript学习笔记031-本地存储0jsonp
Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 能把爱好和工作结合起来 是一件幸福的事情 经过这么多年的挫折 还好现在找到了 前端 我很爱你! 工作 我很爱你! <meta charset="utf-8"> <!DOCTYPE html> <!-- 文档类型:标准html文档 --> <html lang='en'> <!-- html根标签 翻译文字:英文 --> <head> <!-- 网页头部 --> <meat charset='UT
Mr. 柳上原
2018/12/14
5810
HTML5简明教程(四)Web存储
HTML5的Web存储涉及两部分内容,一是数据存储,支持更多本地存储方案;二是文件读取,支持了File API。
娜姐
2021/01/14
1.2K0
H5 App实战三:H5 App的本地存储
这篇文章介绍了以Java语言为基础,详解如何开发一个游戏客户端。我们会讨论客户端的基本架构设计,数据处理流程,以及与服务器的通信机制。通过源码解析和应用案例分享,进一步分析客户端开发中的常见挑战和解决方案。此外,文章将通过优缺点分析、核心类方法介绍以及测试用例。整体内容全面,步骤清晰,非常适合读者学习和参考。
china马斯克
2024/11/23
5590
webApis06-navigator、history、本地存储、线程、数组方法、正则表达式
navigator对象 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>薪资想过万,代码敲三遍</title> </head> <b
yuanshuai
2022/08/17
3930
使用APICloud AVM框架开发人事档案管理助手app实战
​由于人事档案具有涉密性,所以本应用没有使用后台服务,全部功能都在APP本地实现。
APICloud官方
2022/04/02
5460
前端成神之路-WebAPIs02
自定义属性目的:是为了保存并使用数据。有些数据可以保存到页面中而不用保存到数据库中。
海仔
2020/12/22
8380
前端成神之路-WebAPIs02
H5 App实战八:H5 App的离线存储与预加载策略
推荐文章:SpringbBoot如何实现Tomcat集群的会话管理-腾讯云开发者社区-腾讯云
china马斯克
2024/11/28
4360
vue2知识点:浏览器本地缓存
<font color='red'>浏览器本地缓存实际是js的知识点,这里只是提一下加深下印象</font>
刘大猫
2024/10/27
2470
JQuery 实现开发常用功能
标签克隆的两种实现方式: <body> <div> <p> <a onclick="Add(this)">+</a> <input type="text"/> </p> </div> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script> function Add(ths) {
王瑞MVP
2022/12/28
5.6K0
JQuery JavaScript常用API整理(前端入门必学)
现在MVVM框架逐渐占据了主要市场,很多老项目也逐渐的从jQuery转向了MVVM架构!JQuery还有必要学吗? 我的答案是jQuery必须学! JavaScript是基础,JQuery能让DOM操作更方便,哪怕用vue react当操作dom的时候 还是离不开的,只是说可以不用学的那么深。
鱼找水需要时间
2023/02/16
8190
HTML5 不得不看的本地存储 LocalStorage
用过HTML5 本地存储和sessionStorage的,你就感觉html5很强大,比cookie和session好用很多,下面让我们来学习这个知识吧...
胡哥有话说
2019/07/25
1.4K0
H5学习之路之Web存储解决方案
我们所说的H5的存储方案指的是客户端的数据存储,这点需要明白,那么在这个之前有么有可用的存储方案呢?当然是有的,之前一直用的CooKie,如果有人看过我之前写的关于客户端存储的文章, 这里就很好理解了,我之前说过cookie的弊端和优势。那么今天我们说的是H5才提出的存储方案:localStorage和sessionStorage
何处锦绣不灰堆
2020/05/29
8240
原生JS加localStorage实现数据持久化的ToDoList
预览 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>
henu_Newxc03
2022/05/05
3.6K0
原生JS加localStorage实现数据持久化的ToDoList
JS基础第四课、JQ基础第一课(BOM、JQuery框架)
(1)JavaScript库:一个封装好的特定的集合(方法和函数),该库里封装了很多定义好的函数,支持js的常规操作以及一些扩展
申小兮
2023/04/15
1.5K0
JS基础第四课、JQ基础第一课(BOM、JQuery框架)
本地存储——sessionStorage和localStorage
随着互联网的快速发展,基于网页的应用越来越普遍,同时也变得越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5规范提出了相关解决方案。
岳泽以
2022/10/26
1.1K0
相关推荐
前端学习(5)~html详解(三)
更多 >
交个朋友
加入前端学习入门群
前端基础系统教学 经验分享避坑指南
加入腾讯云技术交流站
前端技术前沿探索 云开发实战案例分享
加入云开发企业交流群
企业云开发实战交流 探讨技术架构优化
换一批
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档