我有一组 HTML 文件和一个 SQLite 数据库,我想使用 file:// 方案从浏览器访问它们。是否可以使用 JavaScript 访问数据库并创建查询(和表)?
其实答案是肯定的。以下是如何执行此操作的示例:http://html5doctor.com/introducing-web-sql-databases/
不好的是浏览器对它的支持非常有限。
更多信息请点击这里HTML5 IndexedDB、Web SQL 数据库和浏览器大战
PS:正如 @Christoph 所说 Web SQL 不再处于主动维护状态,并且 Web 应用程序工作组不打算进一步维护它,所以请看这里 https://developer.mozilla.org/en-US/docs/索引数据库.
编辑
正如@clentfort所说,您可以使用SQL.js通过客户端JavaScript访问SQLite数据库。
您可以使用SQL.js,这是编译为JavaScript的SQLlite库,并将数据库存储在HTML5引入的本地存储中。
我的 sql.js 分支现在已合并到原始版本,在一个专用的存储库上。
原始存储库中也提供了良好的文档。
您应该使用较新版本的sql.js。它是 sqlite 3.8 的一个端口,有一个良好的文档并且被积极维护(由我)。它支持准备好的语句和 BLOB 数据类型。
HTML5
中最有趣的功能之一是能够在本地存储数据并允许应用程序离线运行。有三种不同的 API 可以处理这些功能,选择一种 API 取决于您到底想如何处理您计划在本地存储的数据:
更多参考请参阅HTML5 存储 API 简介
以及如何使用
http://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html
使用 PouchDB 之类的东西怎么样? http://pouchdb.com/
最好用python和flask来编码。如果您将 WebSQL 与 JavaScript 一起使用,那么它只会保存单个窗口的数据,而不是全球范围内的数据,因为它是浏览器 cookie。 Flask是一个Python Web服务器,一旦你用它制作了一个页面,你就可以导入sqlite3。另一种方法是使用 php,但要点是使用 JavaScript 是一个坏主意。
附注其实你可以尝试使用loaclStorage我听说它可以保存数据,只要你想保存它。
恕我直言,最好的方法是通过 AJAX 使用 POST 调用 Python,并在 Python 中对数据库执行所需的所有操作,然后将结果返回给 javascript。 Python 中的 json 和 sqlite 支持非常棒,即使是较新的 Python 版本,它也是 100% 内置的,因此不存在“安装这个、安装那个”的痛苦。在Python中:
import sqlite3
import json
...这就是您所需要的。它是每个 Python 发行版的一部分。
@Sedrick Jefferson 要求提供示例,因此(有点迟缓)我在这里写了 Javascript 和 Python 之间的独立来回交流。