在Web应用中使用localforage存储离线数据

在现代Web应用中,我们经常会需要在本地存储一些数据,一方面记住用户的一些状态,或个性化设置,尤其是可以缓存一些常用(甚至全部)的数据,实现更加强大和丰富的本地交互体验。

传统上说,我们有多种办法来存储离线数据,分别如下

方式
空间限制
优势

劣势
cookie
4kb
每个请求中会自动传递cookie
安全性低,空间太小
localstorage
5MB
可以存储更多一些数据(相对于cookie)来说,且API也很简单

sessionstorage
5MB
可以存储更多一些数据(相对于cookie)来说,且API也很简单
仅在session中有效

以上三种方式,还有一个共性,他们只能存储文本数据。所有不是文本的数据(例如一个对象,或者图片),都需要想一定办法先转化为文本,例如常见的是我们有一个数组或对象,一般都需要先用下面的方式序列化为文本

localStorage.setItem("test",JSON.stringify({name:"ares",age:18}))

然后,如果你要读出来的话,又需要反序列化,例如

const data = JSON.parse(localStorage.getItem("test"))

另外要命的问题就是空间太小

所有一些牛人又发明了 IndexDB和WebSQL的方式,他们都类似于本地数据库的方式,可以存储更复杂的数据,以及更大量的数据(几乎不限)。

5c9d93a454e589c5a76a8a0cae3e5c78.png

两者很类似,区别在于 WebSQL出现更早一些,但它不是HTML5规范的一部分。IndexDB则属于HTML5规范的一部分,所以更加推荐使用。

你可能很高兴,想赶紧学习一些IndexDB的知识吧,当然你可以通过这里学习:https://developer.mozilla.org/zh-CN/docs/Web/API/IndexedDB_API

但是你别急,我今天跟你推荐的方式是用一个更加简单的API,localforage, 它采用了类似于localstroage的简单API语法,但是会默认使用IndexDB来进行存储数据,在必要时也可以降级为WebSQL或localstorage。是不是很香呢?

https://localforage.github.io/localForage/

96238c6440447dd5580f1c65e554868f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

出差一定要给孩子带特产

1 这就是热恋期管不住自己的情侣▼2 热恋期过了...▼3 这该夸你腰细呢?还是脸大呢?▼4 听起来...不是挺好的吗▼5 由于新冠病毒,美国GCW选手都保持着一定距离改用原力来进行比赛▼6 她们太菜了你跟她们好以后肯定疯狂掉分▼7 出差一定…

计算机用户名密码策略,设置域用户帐户密码策略

从安全和易用考虑,普通域用户的帐户策略必须满足一下要求:u 密码长度至少3位u 最长使用期限60天u 密码必须符合复杂性要求u 密码最短使用0天u 帐户锁定阀值7次u 帐户锁定时间30分钟u 复位帐户锁定计数器30分钟任务:u 使用默认域策略设置域用户帐户策略u …

优秀的硕博士们,他们的朋友圈都有什么特点?

全世界只有3.14 % 的人关注了爆炸吧知识很多同学都会有这种感觉,读了硕士博士后,兴趣会突然间发生很大变化,发朋友圈也会不一样了。例如,合格的学术研究者,要快速、全面的获取各种最新文献和学界动态;还要持…

未来教育计算机二级Excel解析,Excel操作小技巧,助你学好计算机二级office!

原标题:Excel操作小技巧,助你学好计算机二级office!Office考试中最难的是什么?当然是Excel函数啊!小编辛苦整理了excel10大懒人技巧,让你考试速提分!还不赶紧收藏起来一、填充合并单元格在工作表…

当你女朋友向你索吻的时候。。

1 当你女朋友向你索吻的时候。。2 可把我厉害坏了,叉会腰!3 这脸大的,超想捏4 网友制作的饭团,拍个照都怕打扰他的美梦5 有些话我嘴上不说,但希望你心里有数!6 这是一道很神奇的计算题。。你点的每个赞&…

要来吗,不错的WPF技术交流群!(大批干货今日自取)

欢迎加入我的编程技术交流群今日分享:1 《WPF-微软官方文档》2 《WPF客户端应用系统开发实战》全集3 《2021秋招WPF高频面试题-附答案》欢迎加入我的编程技术交流群MVP答疑解惑超多技术干货免费获取优质岗位和技术兼职内推和数百.NET/WPF 开发者一起进阶众多资料今…

用计算机配置打印机IP,网络打印机怎么设置ip(手把手教你设置打印机IP地址)...

如何设置打印机IP地址,是一个长期以来困好多小伙伴的一个问题,那今天我们就以 HP Laserjet Pro 100 MFP M128系列打印机为例,为大家介绍一下打印机IP地址的设置方法~步骤一:打印配置报告查看有效IP地址M128fp,M128fna …

河流为什么是弯曲的?

全世界只有3.14 % 的人关注了爆炸吧知识我们看到的河流,特别是在平原上的河流,总是弯弯曲曲,很少有笔直的河道。这是为什么呢?这得从力学上做一点解释。图1 弯弯曲曲的河流首先我们来关注一个流体力学中的二次流现象。取一口宽底的…

poj--2019 Cornfields 2维RMQ

题目大意: 给定一个 N*N 的数组 求以(x1, y1) 为左上角 (x1 b -1 ,y1 b -1)为右下角 这个b*b的范围内最大值减最小值 看到最大值最小值当然想到RMQ啦 View Code //Accepted 27392K 594MS C …

学生渐进片add如何给_渐进镜片的说明与镜架选择

近年来,许多眼镜店都进行了渐进多焦点镜片(下面简称:渐进镜片)的推广与应用,产品也越来越普及,但由于很多眼镜店并没有对从业人员进行系统培训,同时对渐进镜片的了解又甚少,在一些注意事项上经验不足&#…

html5 svg组态图,绘制SVG内容到Canvas的HTML5应用

SVG与Canvas是HTML5上绘制图形应用的两种完全不同模式的技术,两种绘制图形方式各有优缺点,但两者并非水火不容,尤其是SVG内容可直接绘制在Canvas上的功能,使得两者可以完美的融合在一起,让Canvas可享用到现有丰富的SVG…

天哪!男朋友对大姨妈的误解有多深?

1 大姨妈就是随时随地给你一拳那种▼2 怀疑不是袜子太紧而是腿太粗▼3 画面戛然而止希望小姑娘她妈下手轻点▼4 大家都是艺术生▼5 “你妈式”量体温▼6 当代网友上网冲浪的最大阻碍▼7 给你个眼神你自己体会~▼你点的每个赞,我都认真当成了喜欢

Dapr + .NET 实战(十四)虚拟机集群部署 mDNS + Consul

前面我们说了在单机模式下和K8S集群下的Dapr实战,这次我们来看看如何在不使用K8S的情况下,在一个传统的虚拟机集群里来部署Dapr。1.环境准备我们准备两台centos7虚拟机Dapr1:192.168.43.131Dapr2:192.168.43.1322.Dapr CLI安装分别…

哪个男孩不想拥有这种牌面?

1 全国最嗨的烧烤地摊没有之一▼2 为什么我们的雨刷和别人的不一样?▼3 好羡慕有这样的妈妈▼4 猫:你别进来,我这儿不接待小孩儿!孩子:我就进去看看▼5 像极了我考试的样子▼6 今天教大家一个找钻石的好办法▼7 …

html怎么快速打出来的,javascript – 快速打印HTML5画布

我搜索了很多,找到了一个完美的解决方案:)使用onclick事件function printCanvas(){var dataUrl document.getElementById(anycanvas).toDataURL(); //attempt to save base64 string to server using this varvar windowContent ;windowContent windowContent Print canvas…

OutOfMemoryException异常解析

一、概述在国庆休假快结束的最后一天晚上接到了部门老大的电话,某省的服务会出现崩溃问题。需要赶紧修复,没错这次的主角依旧是上次的“远古项目”没有办法同事都在休假没有人能帮忙开电脑远程只能打车去公司。远程链接上服务器之后查看日志发现抛出的堆…

LeetCode:Largest Number - 求整型数组中各元素可拼合成的最大数字

2019独角兽企业重金招聘Python工程师标准>>> 1、题目名称 Largest Number(求整型数组中各元素可拼合成的最大数字) 2、题目地址 https://leetcode.com/problems/largest-number/ 3、题目内容 英文:Given a list of non negative i…

js实现样式切换

2019独角兽企业重金招聘Python工程师标准>>> <ul id"styles"> <li id"default">经典</li> <li id"blue">淡蓝</li> <li id"brown">棕色</li> </ul> $("#styles li&…

CV算法面试题学习

本文记录了CV算法题的学习。 CV算法面试题学习 1 点在多边形内&#xff08;point in polygon&#xff09;2 高斯滤波器3 ViTPatch EmbeddingPosition EmbeddingTransformer Encoder完整的ViT模型 4 SE模块5 Dense Block6 Batch Normalization 1 点在多边形内&#xff08;point …

【推荐软件】wingrep

linux下搜索文本中的字符串时&#xff0c;习惯了find和grep的结合&#xff0c;很强大&#xff0c;但是windows下没有这两个命令&#xff0c;不用IDE编程时搜索略显不便。google一下&#xff0c;原来有wingrep工具可以用&#xff0c;可以实现相同的功能&#xff0c;来推荐一下给…