首页 > 富文本编辑器实时保存如何实现?

富文本编辑器实时保存如何实现?

我现在遇到的问题是:
1.如何判断富文本编辑器内的内容有变化
2.如果文本框内容有变化,每隔五秒保存一次。

我的解决方法:
1.通过比较text.length,但是不能保证字符不一样。
2.通过比较字符串,但是如果文本太多,非常影响性能。
这两种判断都是通过定时器setinterval实现的。

而且还有另外一个问题:
如何获取上一次的文本和下一次的文本呢?这个判断其实永远都是成立的。


至于如何去监听,前面的回答基本上也是差不多的思路。可以用定时器或者监听键盘事件。
至于如何更高效的比较字符串是否相等,甚至是大的字符串,我想效率最高的方式可能就是js提供的最原始,最简单的方式了,就是判断相等a==b。js String提供给你的容量已经足够大了。而且api里提供给你的方法或者语法上的表达式最终都是会映射到浏览器内核去执行,已经够快了。
可以参考stackoverflow上的回答。

http://stackoverflow.com/questions/2502659/comparing-large-strings-in-javascript-with-a-hash


比如已保存的值定义为变量a

定时检查文本框里的内存,如果和a不同则保存,同时赋值给a


设置一个 prevContent,每隔5秒做以下事情:

  1. 判断:prevContent 与当前值长度是否一致,是跳到3,否跳到4

  2. 判断prevContent 与当前值是否一值,是跳到3,否跳到4

  3. 保存,将 prevContent 赋为当前值

  4. 退出


脑残了,还可以更简单: 监听键盘事件,若文本有更改,计算距上次更改吋间,超过5秒则保存

【热门文章】
【热门文章】