一般都利用浏览器自己的机制缓存图片
不过有时候也有一些手动缓存图片的需求,比如经过长时间下载的图片
还有一些经过计算生成的图片,没必要每次重新计算,也希望手动缓存起来。
正好 IndexedDB 本身是可以存储 blob 数据,于是开发了一个利用 IndexedDB 缓存图片的库
已经发布,大家可以试试
1
vsitebon 116 天前
最近写小工具正好用得上,我的使用场景是需要用 indexdb 持久化资源;不清楚这个是不是能拓展到缓存所有文件资源?
|
2
kkocdko 116 天前 via Android
好,又多了一批滥用 indexeddb 的家伙。这就是我对陌生网页默认禁用 js 的原因。
b 站网页端也这么干。 请遵守规范,请将缓存存入 cache storage 。将垃圾塞进 indexeddb ,说明开发者也是垃圾。 |
3
tcper OP @vsitebon 你的文件只要能转为 blob 对象都可以存
@kkocdko 滥用浏览器 API 的网站多了去了,还有这个 https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system ,可以写入用户不可见的文件系统。我这个包目标很简单,就是缓存一些图片用的,例如 canvas 生成的一些图片,不希望每次都重绘制。 |
4
kkocdko 116 天前 via Android 9
等有空了一定写一篇文章,好好梳理一下当代的低水平前端开发滥用和误用 web api 的案例
“滥用浏览器 API 的网站多了去了”,我觉得你的逻辑恐怕有点问题,这个世界上杀人的多了去了,这就是杀人的理由? |
6
lxxfljy 116 天前 via iPhone
网络资源的话,管理缓存应该用 service worker 配合 cache storage api 使用,不应该鼓励在主线程 js 处理,不过但是假如是纯本地的数据缓存是可以用 indexeddb 存的,没必要封装成 request 存进 cache
|
9
apades 114 天前 via Android
这个 db 默认占 chrome 安装位置的系统盘挺难绷的
|