如何在iOS Safari上删除与您的域相关的所有indexedDB?

时间:2015-03-11 14:06:36

标签: ios safari indexeddb

我的网页应用中有一个页面应该清除该应用的所有离线数据,包括localStorage和所有IndexedDB。

我的问题出在iOS8 +(Safari 8)上,不支持indexedDB.webkitGetDatabaseNames()。我的目的是逐步浏览每个数据库名称并使用indexedDB.deleteDatabase()删除每个数据库,但不知道数据库的名称,这是不可能的。

我认为期望一个类似于localStorage的.clear()会很天真,但还有另一种方法吗?

1 个答案:

答案 0 :(得分:1)

webkitGetDatabaseNames函数不是IndexedDB标准的一部分,这就是所有浏览器都不支持的原因。由于您只能访问在same domain (same origin policy)上创建的数据库,因此您可以保留已创建的数据库列表,并在需要时将其删除。