Python/Javascript:WYSIWYG html编辑器-快速处理大型文档和/或设计理论
背景: 我正在用python编写一个电子书编辑程序。目前,它使用源代码视图进行编辑,我想将其移植到wysiwyg视图进行编辑。我能为python找到的最好(唯一?)html呈现程序是webkit(我使用的是PyQt版本) 问题: 如何完成所见即所得编辑?要求/问题如下:Python/Javascript:WYSIWYG html编辑器-快速处理大型文档和/或设计理论,python,html,wysiwyg,Python,Html,Wysiwyg,背景: 我正在用python编写一个电子书编辑程序。目前,它使用源代码视图进行编辑,我想将其移植到wysiwyg视图进行编辑。我能为python找到的最好(唯一?)html呈现程序是webkit(我使用的是PyQt版本) 问题: 如何完成所见即所得编辑?要求/问题如下: 一本电子书最多可以有10000段/1000000 人物。 PyQt Webkit(内容可编辑):没问题 PyQt Webkit(TinyMce等):打开它们需要很长时间 格式为........。body元素只包含段落,不包含
- PyQt Webkit(内容可编辑):没问题
- PyQt Webkit(TinyMce等):打开它们需要很长时间李>
........
。body元素只包含段落,不包含div等(但段落中可能包含跨距、链接等)。就用户而言,编辑必须在没有重大延迟的情况下进行。
- PyQt Webkit(ContentEditable):如果您尝试在多个段落中删除文本,这将花费很长时间!!我的理解是,这是因为它重置了被更改元素的公共父元素,即整个正文元素,因为两个不同的段落正在被删除/合并。但是,不需要这样做-只需要删除/合并/更改这些单独的段落李>
谢谢 我能提出另一种完整的方法吗?由于您的电子书只有
:
- 拆分
上的文本,以获得所有段落的索引数组 - 制作您自己的分页系统,并在屏幕上填充N个段落,这些段落会自动从索引数组中获取足够的文本来显示
- 进行选择时,可以使用[段落索引+段落中的字符索引]作为选择的开始/结束
- 然后根据这些假设实现剪切/复制/粘贴/删除/撤消/重做
(注意:当您进行选择时,由于起点已保存,您可以安全地更改屏幕上的文本/分页,直到选择结束。)抱歉。我的意思是在
中只有
,但是在中可能有,,,等等。所以它不仅仅是一个简单的段落+字符索引。而且,这听起来很有趣,但我该如何使用“我自己的分页系统”?我需要#1一个html渲染器和#2在多个“页面”上滚动和选择文本的能力。然后#3将插入符号位置+html更改与渲染器进行通信…是的,因此您可以为此编写一点javascript。无论
中的内容是什么,您仍然可以使用这种方法。是的,您需要自己进行文本输入(用于选择等),并根据更新html输出。(我的意思是,
可以是你工作的“最小项目”)