如何使我的WebApp离线可用


How to make my WebApp available offline?

如果您使用谷歌日历,您可能会注意到它们具有"离线"功能。即使您处于脱机状态,也可以使用谷歌日历。我很想知道他们启用此功能的策略是什么?

我有一个PHP/MySql发票应用程序,并且我希望允许用户使用我的系统,即使他们离线,然后当互联网恢复时,数据应该与在线版本同步

我不想把我的代码安装在我客户的电脑上,所以我希望如果有人有一个想法,可以让我做和他们在谷歌日历中做的一样的事情,或者任何其他可能有帮助的想法。

有一个名为localStorage的Javascript变量。你可以在那里存储一个命令队列来执行,你可以实现一个同步功能,比如:

function synchronize(queue) {
    while (!queue.isEmpty()) {
        queue.pop().execute();
    }
}

你可以使用其他任何东西,包括离线存储,但请记住,离线存储只受HTML5支持,所以如果你想支持旧的浏览器,那么你也需要有一个后备逻辑。