【发布时间】:2014-05-06 06:14:12
【问题描述】:
我已经阅读了several questions 关于此类问题的信息,因此我知道onupgradeneeded 的用途、何时应该调用它以及浏览器兼容性问题。
我正在开发一个应支持桌面版 Chrome 和 iOS 版 Safari 的网络应用程序。我在 Chrome 中使用 IndexedDB,但在使用移动 Safari 时使用 IndexedDBShim 实现以回退到 WebSQL。
系统在 Chrome 中一切正常。在移动 Safari 中,我第一次加载没有缓存数据的页面时,它将无法创建数据库,因为 onupgradeneeded 没有调用。但是:如果我重新加载页面,第二次加载onupgradeneeded 是 调用。从那里开始,垫片工作正常。
目前我的解决方法是显示一个警告,要求用户刷新页面 - 然后它就可以工作了。
我能做些什么更好?
【问题讨论】:
-
代码?请注意,该事件被命名为
upgradeneeded。回调被命名为onupgradeneeded。 -
谢谢。遇到这个问题后,我会保持简单并使用Mozilla Dev pages 中的代码。当我完成这项工作时,我会将其放入我的生产资料中。
标签: javascript html mobile-safari indexeddb shim