如何将离线Web应用程序(HTML+JS+CSS)与我的服务器同步?

3
我需要实现自己的同步方法才能使离线Web应用程序(HTML+CSS+JS)与在服务器上进行的更改保持最新状态吗?我在服务器端使用MySQL。
我阅读了iPhone应用程序和Web应用程序之间的双向同步,其中有一些指针,但我认为他们谈论的是本机应用程序,当他们提到CFUUIDCreate时,我想知道这是否适用于Web。
有人有代码可以分享或者可以指导我方向吗?
谢谢!
P.S.:希望我的英语不会太生疏 ;)
2个回答

2
将静态内容存储在客户端上,正如Jethro Larson所说,应用程序缓存清单是缓存网站静态内容(HTML、CSS、JS和图像)的方法。
要离线处理动态生成的内容,可以使用JavaScript模板。有几种解决方案可供选择。
要同步两个数据库,有一个名为persistence.js(persistencejs.org)的项目,它是一个JavaScript库,提供了一种独特的API来处理WebSQL数据库、本地存储等。他们有一个名为persistence.sync(persistencejs.org/plugin/sync)的插件,可以将远程数据库与服务器的数据库同步。它由POST和GET请求组成,发送到您可以配置的特定URL(例如yourapp.dev/sync)。他们有一个用node.js编写的示例后端,这里是一个用Rails的示例。它很容易理解,而且persistence.sync有很好的文档说明。

0

谢谢,但我已经阅读了关于这方面的内容,它涵盖了缓存等内容,但我仍然对如何进行数据库同步感到疑惑。 - expora
您的请求不够明确,我无法回应。任何同步都将通过http完成,没有魔法可言。我知道HTML5数据库也存在,但不确定是否对您有所帮助。 - Jethro Larson
这并不容易。我用西班牙语思考,虽然这不是最好的方式,但我只是在寻求一些帮助,试图理解如何编写一个实现同步两个数据库的方案,一个是HTML5客户端数据库,另一个是由PHP访问的MySQL数据库。使用UUID?也许在双方都使用自动递增的ID和时间戳的情况下?是否有任何相关的标准?... JSON或XML是否可以用于移动这些数据?我能通过Web套接字传输它吗? - expora
哦,我明白了。我怀疑目前还没有标准解决方案。客户端数据库是非常新的。由于安全漏洞,我永远不会将服务器端和客户端数据库视为同一种类型。至于数据交换,您可以使用AJAX请求来发送/接收数据。Web套接字也可以工作,但我不确定优势在哪里。请记住,这些规范是新的,并且跨浏览器支持不好。 - Jethro Larson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接