1

我希望能够从我的 Web 应用程序实时同步用户 PC 上的多个文本文件。基本上我想要本地 PC 上的一些数据文件来反映我的 Web 应用程序中用户数据的状态,所以如果 Web 应用程序或用户的 Internet 连接丢失,他可以使用这些数据文件来获取一些关键信息(可能使用 html /javascript 代码与将在这些数据文件上以脱机模式运行的文件一起存储。)

我知道 google gears 有很多有趣的工具来处理离线状态,但我更喜欢 html/javascript 中更简单的应用程序,它不会依赖于 google gears。我宁愿使用 google gears 来创建这些文件,并在一天中慢慢地使它们与 Web 应用程序的数据版本保持同步。

答案更新:PersistJS 是一个很好的建议,我会考虑,但我希望人们能引导我找到真正好的 Google Gears 教程资源。

4

6 回答 6

9

您可以使用PersistJS在浏览器上保存数据,它使用它可以找到的最佳客户端持久存储机制,支持:

  • 闪光
  • 谷歌齿轮
  • HTML 5 存储规范
  • 特定于浏览器的扩展
  • 饼干

当您的应用重新连接时,您可以重新同步。创建和读取文本文件是浏览器通常会阻止您的网站执行的操作。

于 2009-08-30T08:49:12.250 回答
0

您可以要求用户下载预定义为仅与您的 subversion 服务器交互的 subversion 客户端。然后编写您的 Web 应用程序以仅与您这边的颠覆服务进行交互。

授予对用户文件系统的访问权限会带来很多安全危害,因此您需要锁定所有可能的利用点。您需要确保用户无法访问颠覆服务器,除非通过您要求他们安装的客户端。您需要确保应用程序服务器和 subversion 服务器之间的连接非常安全,这样传输路径就不会受到损害,并且可能加载到应用程序服务器上的恶意逻辑无法访问 subversion 服务器。我会说加密这两个服务器之间的传输路径,并将颠覆服务器放在隔离您的网络 DMZ 的防火墙后面。我还建议在应用服务器和颠覆服务器之间使用质询/响应机制,以防止恶意代码看起来是在应用服务器上做出的合法决策。此外,请确保数据仅以单向方式从应用程序服务器流向颠覆服务器,因为如果在您的应用程序服务器上植入了恶意逻辑,那么来自颠覆服务器的任何数据都会受到损害,甚至无需访问该服务器。

于 2009-09-03T07:25:13.947 回答
0

您将需要创建一个 ActiveX 控件和一个 FireFox 插件来获得这些权限。除此之外,我同意 orip 尝试使用PersistJS

于 2009-09-02T21:49:59.607 回答
0

冒着陈述显而易见的风险;如果您想在本地存储用户状态,cookie 不是标准方式吗?可能需要不止一个 cookie,但这听起来是最简单的方法。

于 2009-08-27T21:19:43.540 回答
-1

您可以通过 javascript 使用文件系统对象 FSO,但是它依赖于 Microsoft,因为它是一个 ActiveX 控件,它还需要浏览器中的权限,或者可能是 HTA(HTML 应用程序)。

http://www.webreference.com/js/column71/

它是一个真正的安全问题,因此大多数途径都被关闭了。

于 2009-08-27T18:18:04.357 回答
-2

本质上,Web 模型被设计为不授权从服务器到客户端的上游。现在事情正在慢慢发生变化,也许你可以用 Websocket 做到这一点?

于 2009-08-27T18:23:45.050 回答