我已经看到有方法可以在客户端上存储数据,例如使用localStorage
,sessionStorage
或indexedDB
。
AFAIK这些技术的主要缺点是浏览器可能决定清除存储的数据,说明设备是否内存不足(不确定这是否也是localStorage
)。
我似乎无法找到更持久的替代存储的信息:例如不会被浏览器根据某些决定删除。
有这样的技术吗?我希望在ServiceWorkers旁边使用它来获得离线的第一个应用程序。
我找到了类似this的内容,这是ServiceWorkers中包含的内容吗? (该文章没有显示太多的API)。浏览器的支持如何?
澄清:如果数据可以被用户删除,我很好,我不希望它根据某些决定自动被浏览器删除。
答案 0 :(得分:0)
由于您的应用程序在客户端设备上运行,并且您没有任何真正的控制权,并且您的愿望是不可能的('浏览器可能决定清除存储的数据' - 不是真的。浏览器可能无法使用存储数据,或在某些浏览器和场景中获取对存储的引用 - 例如safari iframe和localstorage不是朋友......) 服务工作者是否支持indexedDB,为什么不使用它呢?