text - 文本编辑器应用程序中的自动保存触发

标签 text editor save text-editor autosave

我需要在文本编辑器 Web 应用程序中实现自动保存功能,以便在用户输入时管理自动保存。我对这种技术没有具体的了解,所以我想知道现代基于网络的文本编辑器是如何处理它的,特别是在触发保存功能时:

  • 它是由键盘事件本身触发的还是由检查先前键盘事件的定期扫描(例如每 5 秒一次)触发的?
  • 是否必须在用户不打字时触发(例如 3 秒不活动后)以减少网络流量?

有什么建议吗?

谢谢

最佳答案

例如,here在 Wordpress 中描述了自动保存。我的意见是这取决于应用程序的类型。我想,找到最佳解决方案的最佳方式就是您访问某个网站时希望看到的方式。

所以,如果你把“保存”按钮放在某个地方,那么我认为你真的不需要每隔几秒触发一次,而是每隔几分钟(就像 Wordpress 那样)。

由于您将通过客户端语言(可能是 JavaScript)收听事件,因此您不必太担心性能 - 如果需要,只需每 10 秒收听一次,并检查是否满足自动保存的要求。如果是,您可以使用一些 AJAX 魔法将其保存在某个数据库中。

如果我是你(或者,如果我是你网站的用户),我想在第一个 keyUp 上开始监听事件。当我输入第一个字母时,JS 将每 1 分钟或每输入 500-1000 个字符通过 AJAX 存储在数据库中,无论第一次遇到什么。 我想考虑到有人打字速度快,有人打字慢会很好。这就是为什么我会同时检查输入的字符数和时间。

这是我的看法。 (最后对语法感到抱歉,免费编辑 :D )

编辑:此外,如果网站是您的,并且您希望有大量流量和大量用户,您可以动态查看系统如何工作并相应地设置您的变量(更长/更短的时间/字符)

关于text - 文本编辑器应用程序中的自动保存触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15617034/

相关文章:

ide - 如何在 Visual Studio 2017 for Mac 社区版中调整列标尺?

c++ - 我创建的 Microsoft Visual C++ 2008 Express Edition : Can I insert default code in every . cpp 文件?

ios - 返回 View Controller 1 然后返回 View Controller 2 时,UserDefault 未保存

Python 2.7 : Check if excel file is already open in program before saving it

java - 在 Android Java 中将位保存在字节流中?

java - 如何在 Java 中将二进制文件转换为文本?

pdf - 如何为grails创建pdf编辑器

python - 如何将 2d numpy 数组保存并显示为 RGB 伪彩色图像?

c - 如何将 LSB 提取的数据转换为文本或二进制转换为文本

sql - 文本( Blob )比varchar/nvarchar的效率低多少?