112

我有一组 HTML 文件和一个 SQLite 数据库,我想使用 file:// 方案从浏览器访问它们。是否可以使用 JavaScript 访问数据库并创建查询(和表)?

4

7 回答 7

49

其实答案是肯定的。这是一个如何执行此操作的示例:http: //html5doctor.com/introducing-web-sql-databases/

坏事是浏览器对它的支持非常有限。

此处提供更多信息HTML5 IndexedDB、Web SQL 数据库和浏览器大战

PS:正如@Christoph 所说,Web SQL 不再处于主动维护状态,Web 应用程序工作组也不打算进一步维护它,所以请看这里https://developer.mozilla.org/en-US/docs/IndexedDB

SQL.js

编辑

正如@clentfort 所说,您可以使用SQL.js使用客户端 JavaScript 访问 SQLite 数据库。

于 2012-11-02T09:46:11.197 回答
45

您可以使用SQL.js,它是编译为 JavaScript 的 SQLlite 库,并将数据库存储在 HTML5 中引入的本地存储中。

于 2012-11-02T09:52:00.780 回答
20

最新答案

我的 sql.js 分支现在已合并到kriken 的 repo 上的原始版本中

好的文档也可以在原始仓库中找到。

原始答案(已过时)

您应该使用较新版本的sql.js。它是 sqlite 3.8 的一个端口,有一个很好的文档并且(由我)积极维护。它支持预处理语句和 BLOB 数据类型。

于 2014-05-29T19:36:42.707 回答
4

其中最有趣的功能之一HTML5是能够在本地存储数据并允许应用程序脱机运行。有三种不同的 API 可以处理这些功能,选择一种取决于您想要对计划在本地存储的数据做什么:

  1. Web 存储:用于具有键/值对的基本本地存储
  2. 离线存储:使用清单缓存整个文件以供离线使用
  3. Web数据库:用于关系数据库存储

如需更多参考,请参阅介绍 HTML5 存储 API

以及如何使用

http://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html

于 2012-11-02T10:02:31.660 回答
3

使用 PouchDB 之类的东西怎么样?http://pouchdb.com/

于 2014-06-02T16:47:10.543 回答
-4

恕我直言,最好的方法是通过 AJAX 使用 POST 调用 Python,并在 Python 中对 DB 执行所有操作,然后将结果返回给 javascript。Python 中的 json 和 sqlite 支持非常棒,它 100% 内置在 Python 的最新版本中,因此没有“安装这个,安装那个”的痛苦。在 Python 中:

import sqlite3
import json

......这就是你所需要的。它是每个 Python 发行版的一部分。

@Sedrick Jefferson 要求提供示例,所以(有点迟到)我在这里编写了 Javascript 和 Python 之间的独立来回。

于 2016-01-30T13:50:49.953 回答
-4

最好用 python 和 flask 编码。如果您将WebSQL与 JavaScript 一起使用,那么它只会保存单个窗口的数据,而不是全球范围内的数据,因为它是一个浏览器 cookie。Flask是一个 python 网络服务器,一旦你用它创建一个页面,你就可以导入 sqlite3。另一种方法是使用 php,但要点是使用 JavaScript 是个坏主意。

PS 实际上你可以尝试使用loaclStorage我听说它可以保存数据只要你想保存它。

于 2021-06-24T17:47:53.470 回答