我正在使用 jsf 和 primefaces 构建一个网络应用程序。
这是一个非常简单的考勤应用程序,基本上员工在开始工作时单击一个按钮,在当天下类时单击另一个按钮。点击操作的时间戳被发送到服务器,在那里它们被处理并存储在数据库中。
问题是,当应用程序无法访问时(例如网络问题),请求(显然)无法发送到服务器。当发生这种情况时,我想存储用户单击按钮的时间(可能在 javascript 变量或 cookie 中),然后在网络恢复后自动将其发送到服务器。
我已经对它做了一个快速的研究,但我没有找到太多。 Html 5 有一个“离线模式”,但我不能依赖它,因为我使用的是一些旧版浏览器 (IE)。
最佳答案
如果您可以使用 HTML5 并且它对您来说足够了,您可以使用 window.localStorage
。它受到现代浏览器和 IE8+ 的支持。然后您可以在用户再次连接互联网时检查此存储。
您可以使用 Firefox/Chrome 开发者工具进行实验。
setter/getter / setter/getter
window.localStorage.setItem('key','value');
window.localStorage.getItem('key');
而且你可以检查浏览器是否不支持HTML5 网络存储,你可以使用cookies。
关于jquery - 如何存储请求 "offline"以便稍后执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18894706/