gpt4 book ai didi

python /Javascript : WYSIWYG html editor - Handle large documents fast and/or design theory

转载 作者:行者123 更新时间:2023-11-28 02:10:57 26 4
gpt4 key购买 nike

背景:

我正在用 python 编写一个电子书编辑程序。目前它使用源代码 View 进行编辑,我想将它移植到所见即所得 View 进行编辑。我能找到的最好的(唯一的?)用于 python 的 html 渲染器是 webkit(我使用的是 PyQt 版本)。

问题:

如何完成所见即所得的编辑?要求/问题如下:

  1. 一本电子书最多可包含 10,000 个段落/1,000,000 个人物。
    • PyQt Webkit(ContentEditable):没问题。
    • PyQt Webkit(TinyMce 等):永远 打开它们!
  2. 格式为<body><p>...</p><p>...</p>...</body> . body 元素包含 段落,没有div 等(但段落中可能有span、链接等)。就用户而言,编辑必须在没有明显延迟的情况下进行。
    • PyQt Webkit (ContentEditable):如果您尝试删除多个段落中的文本,这将花费很长时间!!我的理解是,这是因为它重置了正在更改的元素的共同父元素 - 即 整个主体元素,因为两个不同的段落正在被删除/合并。但是,应该没有这个必要 - 它应该只需要删除/合并/更改那些单独的段落!

我愿意实现我自己的所见即所得编辑,但对于我的生活,我无法弄清楚如何正确删除/剪切/粘贴/合并/更改 html 代码。我在网上搜索了有关 html 所见即所得设计理论的文章,​​结果很干。

谢谢!

最佳答案

我可以建议一个完整的另一种方法吗?由于您的电子书只有 <p></p> :

  • <p></p> 上拆分文本获取所有段落的索引数组
  • 制作你自己的分页系统,并用 N 个段落填充屏幕,自动从索引数组中获取足够的文本来显示
  • 在选择的时候,可以使用[段落索引+段落中的字符索引]来选择开始/结束
  • 然后根据这些假设实现剪切/复制/粘贴/删除/撤消/重做。

(注意:当您进行选择时,由于保存了起点,您可以放心地更改屏幕上的文本/分页,直到选择结束。)

关于 python /Javascript : WYSIWYG html editor - Handle large documents fast and/or design theory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8412215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com