发布了一个利用 IndexedDB 缓存图片的包

53 天前
 tcper

一般都利用浏览器自己的机制缓存图片

不过有时候也有一些手动缓存图片的需求,比如经过长时间下载的图片

还有一些经过计算生成的图片,没必要每次重新计算,也希望手动缓存起来。

正好 IndexedDB 本身是可以存储 blob 数据,于是开发了一个利用 IndexedDB 缓存图片的库

已经发布,大家可以试试

https://github.com/tcper/indexeddb-image-cache

1270 次点击
所在节点    前端开发
9 条回复
vsitebon
53 天前
最近写小工具正好用得上,我的使用场景是需要用 indexdb 持久化资源;不清楚这个是不是能拓展到缓存所有文件资源?
kkocdko
53 天前
好,又多了一批滥用 indexeddb 的家伙。这就是我对陌生网页默认禁用 js 的原因。

b 站网页端也这么干。

请遵守规范,请将缓存存入 cache storage 。将垃圾塞进 indexeddb ,说明开发者也是垃圾。
tcper
53 天前
@vsitebon 你的文件只要能转为 blob 对象都可以存


@kkocdko 滥用浏览器 API 的网站多了去了,还有这个 https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system ,可以写入用户不可见的文件系统。我这个包目标很简单,就是缓存一些图片用的,例如 canvas 生成的一些图片,不希望每次都重绘制。
kkocdko
53 天前
等有空了一定写一篇文章,好好梳理一下当代的低水平前端开发滥用和误用 web api 的案例

“滥用浏览器 API 的网站多了去了”,我觉得你的逻辑恐怕有点问题,这个世界上杀人的多了去了,这就是杀人的理由?
lemon6
53 天前
@kkocdko #2 你说的规范出处能贴一个吗?
lxxfljy
53 天前
网络资源的话,管理缓存应该用 service worker 配合 cache storage api 使用,不应该鼓励在主线程 js 处理,不过但是假如是纯本地的数据缓存是可以用 indexeddb 存的,没必要封装成 request 存进 cache
DOLLOR
53 天前
@kkocdko
最毒瘤的是 youtube 、推特(X)、gmail ,打开网站存储空间,这三家总是名列前茅,动不动就上百 MB 的数据
lxxfljy
53 天前
apades
50 天前
这个 db 默认占 chrome 安装位置的系统盘挺难绷的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060626

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX