我需要在文本编辑器 Web 应用程序中实现自动保存功能,以便在用户输入时管理自动保存。我对这种技术没有具体的了解,所以我想知道现代基于网络的文本编辑器是如何处理它的,特别是在触发保存功能时:
- 它是由键盘事件本身触发的还是由检查先前键盘事件的定期扫描(例如每 5 秒一次)触发的?
- 是否必须在用户不打字时触发(例如 3 秒不活动后)以减少网络流量?
有什么建议吗?
谢谢
最佳答案
例如,here在 Wordpress 中描述了自动保存。我的意见是这取决于应用程序的类型。我想,找到最佳解决方案的最佳方式就是您访问某个网站时希望看到的方式。
所以,如果你把“保存”按钮放在某个地方,那么我认为你真的不需要每隔几秒触发一次,而是每隔几分钟(就像 Wordpress 那样)。
由于您将通过客户端语言(可能是 JavaScript)收听事件,因此您不必太担心性能 - 如果需要,只需每 10 秒收听一次,并检查是否满足自动保存的要求。如果是,您可以使用一些 AJAX 魔法将其保存在某个数据库中。
如果我是你(或者,如果我是你网站的用户),我想在第一个 keyUp 上开始监听事件。当我输入第一个字母时,JS 将每 1 分钟或每输入 500-1000 个字符通过 AJAX 存储在数据库中,无论第一次遇到什么。 我想考虑到有人打字速度快,有人打字慢会很好。这就是为什么我会同时检查输入的字符数和时间。
这是我的看法。 (最后对语法感到抱歉,免费编辑 :D )
编辑:此外,如果网站是您的,并且您希望有大量流量和大量用户,您可以动态查看系统如何工作并相应地设置您的变量(更长/更短的时间/字符)
关于text - 文本编辑器应用程序中的自动保存触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15617034/