gpt4 book ai didi

javascript - 选项卡关闭时清理 IndexedDB

转载 作者:行者123 更新时间:2023-12-05 03:54:09 46 4
gpt4 key购买 nike

我需要将一些数据保存在 indexedDB 中,而不是保存在 sessionStorage 中,因为数据量超过 5 MB。

我对清理策略感到困惑,因为在页面重新加载或导航到其他页面的情况下,我需要保留这些数据,但如果用户关闭浏览器选项卡,我想将其删除以保存位置。

我该怎么做?需要它至少在 Chrome 中运行。

最佳答案

您可以在 session 存储中存储一个指标,如果该值不存在则删除数据库。

(async() =>
{
if (!sessionStorage.getItem('just-a-placeholder'))
{
indexedDB.deleteDatabase('temp');
sessionStorage.setItem('just-a-placeholder', true);
}

const databases = await indexedDB.databases();
console.log(databases.find(db => db.name === 'temp') !== undefined)
await indexedDB.open('temp');
})();

可悲的是,StackOverflow 没有以我可以在这里展示的方式运行代码片段,但这里有一个 JSFiddle以实际行动展示它。

关于javascript - 选项卡关闭时清理 IndexedDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61239540/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com