有点晚了,但这是我在遇到同样情况后才发现的。IndexedDB 最适合您在某些时候可能需要查询的大量数据。IndexedDB 还允许超过 localstorage 提供的“安全区”5MB。(当然也有一些浏览器的问题,要查看哪个浏览器支持什么,请点击下面的jstore链接。)
数据文件在哪里?据我了解,任何本地存储内容都存在于 Web 浏览器的临时目录中,或者取决于您的操作系统,存在于某个本地 App Data 目录中。我还没有测试过,但由于本地存储类似于 cookie——从某种意义上说,两者都是“网络浏览器的一部分”——这是有道理的。(此外,在 Firefox 中,您可以使用 Firebug 直接检查本地存储的内容。)
因此,根据我的快速研究(意思是,它并不全面),我发现 localstorage 和 IndexedDB 都不将数据存储在内存中。如果我错了,请纠正我!
这是一个网站,它解释了有关 localstorage 和 IndexedDB 的更多信息。该站点还包含 jstore.js,这是一个插件,用于将数据存储在各种浏览器的正确位置:
http://www.jstorage.info/
除此之外,还有一篇有趣的文章,名为“Storing images and files in IndexedDB”,位于:
https://hacks.mozilla.org/2012/02/storing-images-and-files-in-indexeddb/
Mozilla 网站上有一些很好的信息:
https://developer.mozilla.org/en-US/docs/DOM/Storage#Storage_location_and_clearing_the_data
关于 Firefox 和 Chrome,它指出“在 Firefox 中,DOM 存储数据存储在配置文件文件夹中的 webappsstore.sqlite 文件中(还有 chromeappsstore.sqlite 文件用于存储浏览器自己的数据,尤其是起始页 - 关于:home,但可能用于其他带有“关于:”URL 的内部页面)。
要真正了解将图像存储在 localstorage 或 IndexedDB 中会发生什么,我谦虚地建议查看这些链接并关注这些文章中的其他链接,尤其是来自 Mozilla 的文章。