HTML5本地存储的替代方案

14

除localStorage外,我有哪些替代方案可以在客户端持久化键/值对? 理想情况下,我希望找到一些用户不会无意中删除的东西(因为理论上他们可能会删除localStorage)。


3
我认为在客户端存储无法删除的信息是不可能的,否则会导致各种不必要的情况发生。 - Veger
7
你没有拥有客户端电脑。实现这个功能将被视为恶意软件。 - Jonas
1
这不是HTML5或标准,但大多数浏览器支持IE5+功能称为“userData persistence”。很少有用户知道如何删除它。还有“Flash cookies”。将这些东西结合使用可能非常难以击败。在网上搜索“everCookie”。 - Gaurav
2个回答

22

使用HTML5,您的本地存储选项仅限于以下内容:

  • localStorage
  • cookies
  • Web SQL(在WebKit和Opera中)
  • IndexedDB(在所有现代优秀的浏览器中)

... 但是,用户可以删除这些存储中的任何数据,而这正是应该的。


1

另一个选择是localForage,它是一个js库,提供了localStorage的易用性和IndexedDB的所有高级功能。

其中一个好处是:您不必将数据结构转换为JSON才能将其保存在数据存储中。

其API支持ECMAScript 6 Promises,这提供了更好的处理异步代码的方式。不幸的是,它与11以下的任何IE都无法很好地配合使用。


3
使用库将数据存储在localStorage中如何减轻用户删除localStorage内容的风险,这是问题关注的重点? 使用库来存储数据可以简化代码实现,降低出错几率并提高数据的安全性。因为库通常具有更好的错误处理机制和更加稳定的存储方式,所以即使用户意外地删除了localStorage中的内容,使用库存储的数据仍然可以保留。 - Quentin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接