Qwe*_*tiy 6 javascript google-chrome session-storage indexeddb
我需要保留一些数据,indexedDB因为sessionStorage数据量超过 5\xc2\xa0MB。
我对清理策略感到困惑,因为在页面重新加载或导航到其他页面的情况下,我需要保留这些数据,但如果用户关闭浏览器选项卡,我想删除它以保存位置。
\n\n我怎样才能做到这一点?至少需要它在 Chrome 中工作。
\n小智 5
您可以将指标存储在会话存储中,然后如果该值不存在则删除数据库。
(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');
})();
Run Code Online (Sandbox Code Playgroud)
遗憾的是,StackOverflow 无法以我可以在此处展示的方式运行代码片段,但这里有一个JSFiddle来展示它的实际情况。