我需要在文本编辑器Web应用程序中实现自动保存功能,以便在用户键入时管理自动保存。我对这种技术没有具体的了解,所以我想知道它是如何在现代的基于Web的文本编辑器中处理的,特别是在触发保存功能时:
有什么建议吗?
由于
答案 0 :(得分:4)
例如,here在Wordpress中被描述为自动保存。我的意见取决于应用类型。我想,找到最佳解决方案的最佳方式是,如果您访问某个网站,您希望看到这种方式。
所以,如果你把某个地方设置为“保存”按钮,那么我认为你真的不需要每隔几秒触发一次,而是每隔几分钟(就像Wordpress一样)。
由于您将通过客户端语言(可能是JavaScript)监听事件,因此您无需担心性能 - 如果需要,只需每10秒钟收听一次,并检查是否满足自动保存的要求。如果是的话,你可以用一些AJAX魔法将它保存在某个数据库中。
如果我是你(或者,如果我是你网站的用户),我想在第一个keyUp上开始收听事件。当我输入第一个字母时,JS会每隔1分钟通过AJAX存储在DB中,或者每500-1000个字符输入一次,无论第一次遇到什么。 我想如果考虑到某人输入速度更快,某人更慢,那就太棒了。这就是为什么我要检查输入的字符数以及时间。
这是我的意见。 (最后对不起语法,免费编辑:D)
编辑:此外,如果网站是您的,并且您期望一些大流量和大量用户,您可以动态地查看系统如何工作并相应地设置您的变量(更长/更短的时间/字符)
答案 1 :(得分:1)
我认为没有“正确答案”。这取决于您对应用程序的工作方式。
如果要使服务器上的数据始终与前端文本保持一致,则应将保存功能绑定到键盘事件。但是,在正常情况下,它显然效率低,带宽消耗且不必要。
如果数据一致性对您来说不那么重要,那么在固定时间段之后检查文本并保存(如果文本已更新)是正确的方法。
答案 2 :(得分:1)
我正在为博客网站开发一个类似的工具。事实证明,它需要更多的计算保存点,而不仅仅是:
除了上述内容,我还补充说:
在我们的案例中,它是一个Web应用程序,我使用了javascript,确保它快速可靠至关重要。
您可以在http://www.omidmufeed.com/autosaving-text-editor-with-javascript/
找到我的解决方案我希望这有助于某人。