17

我正在使用 HTML5 和 Javascript 创建一个应用程序。此应用程序将与 Windows 和 iOS 6 (iPad) 兼容。我需要使用 javascript 访问本地数据库。这是一个纯粹的离线应用程序,不涉及服务器端。

我的困境是——

  1. W3C 不再支持 WebSQL。

  2. IndexedDB 适用于 Firefox,但不适用于 iOS6。

  3. 最重要的是,我想避免 HTML5 本地数据库存储,因为它会在清除历史记录时清除数据。

我想在本地为应用程序建立一个持久的数据库,比如 SQLite。是否可以使用纯 javascript 访问 SQLite,以便它可以在 Windows 和 iPad 上与 Firefox 一起使用。

编辑:该应用程序不会从 iPad (iOS6) 中的浏览器运行。而是将应用程序打包成 ipa 文件并安装在 iPad 设备中。

4

5 回答 5

3

您正在寻找的是polyfill

根据HTML5 PleaseIndexedDB Polyfill通过 WebSQL 实现 IndexedDB API。(polyfill 的作者也在 Mozilla Hacks 上写了一篇关于它的文章。)

Facebook 也作为polyfill。根据这个拉取请求(到另一个项目),第一个 polyfill 的作者 Parashuram Narasimhan 似乎更喜欢 Facebook 的 polyfill,并且正在考虑退出他自己的项目。(但话又说回来,Facebook repo 看起来像是一次性代码转储,可能没有任何正在进行的开发。)

于 2013-01-23T10:59:49.107 回答
1

有几点需要注意。

  1. 它是一个纯粹的客户端应用程序。
  2. 不使用网络存储(本地和会话)

剩下的选项是使用 webSQL、IndexedDB、第三方框架或自定义解决方案。

webSQL :- 支持仅限于 webkit 浏览器和 w3c 宣布其死亡。浏览器支持

IndexedDB :- 支持 IE10、chrome 和 Firefox。浏览器支持。旧版本的 IE 不支持。

第三方框架:- sequelsphere是一个独立于平台的解决方案来解决这个问题。它是一个完全用 javascript 编写并使用 webSQL 或 IndexedDB 的 RDMS。

自定义解决方案:-在像本教程这样的跨平台 Web 应用程序上同时支持 IndexedDB 和 WebSQL,我们可以创建自定义跨浏览器数据库解决方案,或者可以使用类似 json 存储选项的草坪椅。

于 2013-01-22T10:34:39.093 回答
1

我们有同样的问题并在这个线程上得到了回答。

如果您需要单个表 DB,Lawnchair 是一个不错的选择 - 我们需要多个表,因此开发了自己的包装器。

使用 HTML-5 和 JavaScript 创建一个 Web 应用程序,这样它就可以在桌面浏览器和 iPad 上运行。使用PhoneGap 使其成为iPad 的本机应用程序。

于 2013-01-27T18:28:29.153 回答
-3

请检查这是否有帮助。您可以将 javascript 用于前端和后端(用于数据库交互)。有很多插件也可用于此框架。http://www.nodejs.org

于 2013-01-22T07:00:18.257 回答
-4

这是 100% 可能的。我可以推荐一个用于在 html5 sqlite 中访问数据的 javascript 库。文档和示例代码:单击此处

我用那个lib做了一个android演示(通过使用phonegap)。效果很好!

在此处下载演示

于 2013-01-15T10:29:39.770 回答