我已经阅读了有关此类问题的几个问题,因此我知道onupgradeneeded
应该何时调用它的目的以及浏览器兼容性问题。
我正在开发一个 Web 应用程序,它应该支持桌面上的 Chrome 和 iOS 上的 Safari。我在 Chrome 中使用 IndexedDB,但在使用移动 Safari 时使用 IndexedDBShim 实现回退到 WebSQL。
该系统在 Chrome 中一切正常。在移动版 Safari 中,第一次加载没有缓存数据的页面时,会因为onupgradeneeded
未调用而无法创建数据库。但是:如果我重新加载页面,onupgradeneeded
则会调用第二次加载。从那里,垫片工作正常。
目前我的解决方法是显示一个警告,要求用户刷新页面 - 然后它就可以工作了。
我能做什么更好?