反馈一个bug,markdown编辑器点击上方工具栏后,回退功能会失效
← 返回列表

当前位置: 作者:cn2-9929 · 2026-08-10 07:39:04

#1 cn2-9929 · 2026-08-10 07:39:04
stalltrix
之前在其他论坛发现过这种bug。在这里竟然也发现了同样的bug

简单说下



现在markdown编辑器上方有工具栏,正常输入不点击"B I H+ := “ </>" 这些工具栏,那么不会触发这个bug。

一旦点击这些快捷工具栏后后,ctrl+z回退功能会失效,将无法再回退。历史输入将会全部丢失
#2 sendev · 2026-08-10 07:48:24
stalltrix
这么久了我都没用过这个工具栏,也许我是因为github而习惯手写markdown了吧
#3 ouplan · 2026-08-10 07:54:13
stalltrix
看上去像是失焦了的原因,@huaxiong(gmpb75) 你来修一下
#4 独孤求败 · 2026-08-10 07:56:42
stalltrix
工具栏应该是小白才会用,不过还是感觉这bug有点危险,把历史版本吞了,感觉有点坑
#5 lucly · 2026-08-10 07:59:12
stalltrix
已测,确实有,点击工具栏后,ctrl+z失效。
#6 e · 2026-08-10 08:07:54
stalltrix
@独孤求败(xtqaal) 这个bug感觉定位很奇妙啊

小白使用工具栏但是多数不会ctrl+z。于是没感觉。

而技术大佬一般习惯手写markdown,不会使用工具栏。于是也没感觉
#7 cn2-9929 · 2026-08-10 08:13:17
stalltrix
我就是半罐水,既使用工具栏又使用ctrl+z。。。这个bug就发现了😂
#8 huaxiong · 2026-08-10 08:23:49
stalltrix
不是按钮失焦,是输入框使用setSelectionRange失焦了导致undo栈被清空。commit 89b1ae6已修复

#9 cn2-9929 · 2026-08-10 08:31:46
stalltrix
commit 89b1ae6的这个是在哪里,我没找到,好奇是怎么修复的
#10 huaxiong · 2026-08-10 08:34:17
stalltrix
@cn2-9929(5g3i5z) https://github.com/stalltrix/kepweb/commit/89b1ae6936b6805704762879c33185c2d730cdf0
#11 pingpong · 2026-08-10 15:19:42
stalltrix
@huaxiong(gmpb75) 你好像写错了,看上去失败后会一直循环递归。虽然理论上应该不会失败

在第616行
#12 huaxiong · 2026-08-10 15:37:12
stalltrix
@pingpong(zrhr3y) 批量替换不小心把新函数内部也替换了,新commit a393214已修复
#13 cn2-9929 · 2026-08-11 07:18:23
stalltrix
加上这里。跨了5个论坛,竟然都发现了同样的bug。

不过我好像找到原因了。在找第6家的时候,发现没有此bug,看了下是xiuno的富文本编辑器。而这里5家的共同点都是使用textarea+patch方法实现的富文本编辑器

xiuno的富文本编辑器,使用的是div+contenteditable方法,应该被框架处理了。而textarea方法如果不特地处理下,容易造成undo栈被打断。应该是历史记录全部丢失的原因
#14 下耕 · 2026-08-11 07:25:41
stalltrix
@cn2-9929(5g3i5z) 这里的富文本编辑器,我记得以前还有详细的讨论,这个帖子
#15 cn2-9929 · 2026-08-11 07:37:12
stalltrix
@下耕(yw6qcv) 这个已经知道了,其实就是因为好奇在这里翻markdown关键词的时候发现的两种实现方法

以前都不知道富文本编辑器实现原理,现在才发现原来有contenteditable与textarea这两种方法

注册

或使用第三方注册

登录

没有账号? 立即注册
技术
闲聊
开发
正在提交...