当前位置: 首页 > news >正文

电子商务网站建设及推广方案论文在网站文章锚文本怎么做

电子商务网站建设及推广方案论文,在网站文章锚文本怎么做,百度云网盘下载,网站开发用linux好吗一、前言 前端本地化存储算是一个老生常谈的话题了,我们对于 cookies、Web Storage(sessionStorage、localStorage)的使用已经非常熟悉,在面试与实际操作之中也会经常遇到相关的问题,但这些本地化存储的方式还存在一些…

一、前言

前端本地化存储算是一个老生常谈的话题了,我们对于 cookies、Web Storage(sessionStorage、localStorage)的使用已经非常熟悉,在面试与实际操作之中也会经常遇到相关的问题,但这些本地化存储的方式还存在一些缺陷,比较明显的缺点如下:

  1. 存储量小:即使是web storage的存储量最大也只有 5M
  2. 存取不方便:存入的内容会经过序列化,当存入非字符串的时候,取值的时候需要通过反序列化。

当我们的存储量比较大的时候,我们一定会想到我们的 indexedDB,让我们在浏览器中也可以使用数据库这种形式来玩转本地化存储,然而 indexedDB 的使用是比较繁琐而复杂的,有一定的学习成本,但第三方库 localForage 的出现几乎抹平了这个缺陷,让我们轻松无负担的在浏览器中使用 indexedDB

二、indexedDB

IndexedDB是一种底层 API,用于在客户端存储大量的结构化数据(也包括文件/二进制大型对象)该 API 使用索引实现对数据的高性能搜索。IndexedDB 是一个事务型数据库系统,类似于基于 SQL 的 RDBMS。

1.存取方便

IndexedDB 是一个基于 JavaScript 的面向对象数据库。IndexedDB 允许你存储和检索用键索引的对象;可以存储结构化克隆算法支持的任何对象。

之前我们使用 webStorage 存储对象或数组的时候,还需要先经过先序列化为字符串,取值的时候需要经过反序列化,那indexedDB就比较完美的解决了这个问题,可以轻松存取对象或数组等结构化克隆算法支持的任何对象。以 stackblitz.com/ 网站为例,我们来看看对象存到 indexedDB 的表现:

2.异步存取

我相信你肯定会思考一个问题:localStorage如果存储内容多的话会消耗内存空间,会导致页面变卡。那么 IndexedDB 存储量过多的话会导致页面变卡吗?不会有太大影响,因为 IndexedDB 的读取和存储都是异步的,不会阻塞浏览器进程。

3.庞大的存储量

IndexedDB 的储存空间比LocalStorage 大得多,一般可达到500M,甚至没有上限。

三、 localForage

localForage 是基于 indexedDB 封装的库,通过它我们可以简化 IndexedDB 的使用。

兼容性

想必你一定很关注兼容性问题吧,我们可以看下 localStorage 与 indexedDB 兼容性比对,两者之间还是有一些小差距。

但是你也不必太过担心,因为 localforage 已经帮你消除了这个心智负担,它有一个优雅降级策略,若浏览器不支持 IndexedDB 则使用 WebSQL ,如果不支持 WebSQL 则使用 localStorage。在所有主流浏览器中都可用:Chrome,Firefox,IE 和 Safari(包括 Safari Mobile)。

localForage 的使用

import localforage from 'localforage'

  1. 创建一个 indexedDB
const myIndexedDB = localforage.createInstance({ name: 'myIndexedDB', })
  1. 存值
myIndexedDB.setItem(key, value)
  1. 取值

由于indexedDB的存取都是异步的,建议使用 promise.then() 或 async/await 去读值

myIndexedDB.getItem('somekey').then(function (value) {// we got our value
}).catch(function (err) {// we got an error
});

or

try { const value = await myIndexedDB.getItem('key'); // This code runs once the value has been loaded// from the offline store. console.log(value); 
} catch (err) { // This code runs if there were any errors. console.log(err); 
}
  1. 删除某项
myIndexedDB.removeItem('key')
  1. 重置数据库
myIndexedDB.clear()

细节及其他使用方式请参考官方中文文档localforage.docschina.org/#localforag…

VUE 推荐使用 Pinia 管理 localForage

如果你想使用多个数据库,建议通过 pinia 统一管理所有的数据库,这样数据的流向会更明晰,数据库相关的操作都写在 store 中,让你的数据库更规范化。

// store/indexedDB.ts
import { defineStore } from 'pinia'
import localforage from 'localforage'export const useIndexedDBStore = defineStore('indexedDB', {state: () => ({filesDB: localforage.createInstance({name: 'filesDB',}),usersDB: localforage.createInstance({name: 'usersDB',}),responseDB: localforage.createInstance({name: 'responseDB',}),}),actions: {async setfilesDB(key: string, value: any) {this.filesDB.setItem(key, value)},}
})

我们使用的时候,就直接调用 store 中的方法

import { useIndexedDBStore } from '@/store/indexedDB'
const indexedDBStore = useIndexedDBStore()
const file1 = {a: 'hello'}
indexedDBStore.setfilesDB('file1', file1)
http://www.yayakq.cn/news/115565/

相关文章:

  • 怎么投诉没有备案就已经运营网站高端大气的的网站
  • wordpress小说网站四库虎紧急入口2022
  • 网站首页栏目怎么做wordpress 页面缓存
  • 网站设计理念为什么不用wordpress
  • 互助平台网站建设费用做网站和优化公司的宣传语
  • 公司网站框架WordPress网易云悬浮插件
  • 住房城乡建设部招投标网站不花钱做推广的网站
  • 有哪里可以做兼职翻译的网站微信开发一个小程序多少钱
  • 广东做网站公司有哪些du制作网站
  • 游戏开发 网站开发上海搬家公司价目表
  • 珠宝网站源码医疗手机网站建设
  • 西安当地做网站的公司最新发布地址跳转
  • 做网站学费多少钱中国建筑企业公司排名
  • 上海模板网站建设做外贸站推广
  • 泸州公司做网站动漫设计专业的学校
  • 医药企业网站设计制作网上商城购物系统流程图
  • 网站底部版权怎么做在成都如何找到做网站的公司
  • 松江区网站建设公司wordpress 导入数据库结构
  • 建立一个网站英语桂林建网站的公司
  • 青羊区建设和交通网站网站建设公司哪有
  • wordpress 微商网站微信公众号关注
  • 如何查询注册过的网站互联网公司有哪些部门
  • 高端摄影网站模板下载下载浙江平安建设信息系统网站
  • 如何选择网站定制公司网站建设管理工作情况汇报
  • 做网站申请哪类商标云开发低代码平台
  • 上海网站制作公司多少钱购物网站开发可行性
  • 网站建设价格组成国外外贸网站
  • 微网站模板源代码做交通工程刬线的网站公司
  • 盐城网站建设找哪家好晋中公司做网站
  • 网站定制公司哪家最权威在线企业查询系统