是否可以编写不需要服务器的本地Web应用程序?

pap*_*jam 7 web-applications local

我想创建一个本地应用程序,它具有基于浏览器的UI而不是基于MFC/Qt /等的独立GUI.如果我不想在本地计算机上运行Web服务器,我该如何实现动态我应用程序的一部分?浏览器可以指向机器上的本地脚本,可执行文件或库吗?我可以直接使用本地数据库吗>这种方法存在哪些缺陷?

sle*_*man 5

是的,但有限制。主要限制是您无法执行任何 CGI 操作,因为浏览器将打开并显示您的脚本源代码而不是执行它们。这有几个含义:

  1. 您无法连接到数据库。这使得执行存储状态和用户数据等常见操作变得困难。
  2. 您无法设置内容类型。这意味着您无法执行任何花哨的 XML 操作,例如提供 SVG 文件或在 XMLHttpRequest 中使用 XML。
  3. 您无法生成动态图像(使用 ImageMagick 或 GD)。尽管使用 HTML5,您可以使用画布来完成此操作。
  4. 您无法读取或写入文件系统。这再次限制了您保存数据的能力。但它可以通过正确的用户权限来完成(更多内容见下文)。

但也有解决方法。HTML5 允许您将数据存储在本地存储中,但显然这在旧版浏览器中不起作用。您可以将数据存储在 cookie 中,但这有大小限制。最后你可以实际保存到文件。您必须指示您的用户修改他们的浏览器首选项,以允许您的脚本执行此操作,但这是可以完成的。TiddlyWiki就是一个例子。它是一个独立的个人 wiki,位于单个 HTML 文件中。每次保存新内容时,页面都会修改并保存自身。您可能想看看他们是如何做到的以获得灵感。