【发布时间】:2013-12-18 20:07:30
【问题描述】:
是否可以在不使用服务器的情况下将本地数据库文件与 html5 一起使用。我想创建一个依赖于小型数据库信息的小型应用程序。我不想托管服务器只是为了获取信息。是否可以创建数据库文件并从本地文件中提取信息?
【问题讨论】:
标签: database html web-applications web-sql
是否可以在不使用服务器的情况下将本地数据库文件与 html5 一起使用。我想创建一个依赖于小型数据库信息的小型应用程序。我不想托管服务器只是为了获取信息。是否可以创建数据库文件并从本地文件中提取信息?
【问题讨论】:
标签: database html web-applications web-sql
您要构建的应用程序类型:
Indexed DB 和 Web Storage 在某些浏览器中可用,但您需要确保目标浏览器具有它。它们的功能不像 SQL RDBMS 那样完整和灵活,但如果您的应用程序不需要所有这些灵活性,它们可能符合要求。
XML 文件可以包含您希望向用户显示的数据,并且可以手动(不是由用户)或动态(通过服务器脚本)更新它们。 对于动态更新,XML 的内容保存在 JavaScript 中并被操纵/更改(使用 XML DOM),当会话结束时,XML 内容被发送到服务器以完全替换以前的 XML 文件。如果每个用户都有一个文件并且他们从不写入彼此的文件,这可以正常工作。
禁止(出于安全原因)对所有本地 (JavaScript) 代码进行正常文件访问,这意味着在本地“拥有”文件意味着要么从已知来源(服务器)下载它,要么要求用户提供对本地文件。
要求用户提供对本地文件的访问,这意味着向用户提供“文件输入”——类似于上传,但不实际上传文件。
使用FileAPI 选择文件后,读取该文件应该相当简单。
此工作流程将涉及用户在每次刷新页面时“给”您数据库 - 但由于它是一个页面的事情,这意味着只要您的脚本不刷新页面,就在每个会话中给您数据。
【讨论】:
您可以使用本地存储,但您可以从自己的计算机上运行服务器。您可以使用 Wamp 或 Xampp。其中使用 Apache 和 mysql。
【讨论】:
我正在寻找比 cookie 更强大的东西。我正在为一位朋友制作一个只有 1 页的 Web 应用程序,并且在页面上有一个姓名列表。该人希望能够将姓名添加到列表中,但他们不想使用 Web 服务器。只需要计算机上本地的文件,因此需要一个名为 test-app 的文件夹,带有 index.html,可能还有一个可以存储在 Web 浏览器中的数据库文件,或者一种将信息保存到 Web 浏览器以供重复使用的方法。
【讨论】:
Indexed DB 和 Web Storage 替代方案更适合您的需求。它们专为替换 cookie/会话功能而设计。