1

我们有一个客户向我们即将开始的项目添加了一个新的“需求”,这让我们有点吃惊。从最终用户的角度来看,这很简单,但作为开发人员,我不知道如何实现它!

我们的用户想要一个 Web 表单文本框(理想情况下是富文本编辑器,例如CKEditor)来跟踪用户对内容所做的更改。请注意,这不是跟踪是否进行了更改,而是实际突出显示这些更改。基本上,他们追求的是 Microsoft Word 的“跟踪更改”功能!

这个想法是,如果一个用户更改了包含大量文本的文本框,则用户之间的请求将能够很容易地识别出更改的内容。

我很想听听是否有人做过类似的事情,或者任何人对它是否或如何可能的想法?

4

3 回答 3

0

有人已经在这里发布了一个很好的答案:

如何突出显示一个文本段落与另一个文本段落的更改/差异?

于 2010-11-11T16:25:44.630 回答
0

嗯...好吧,您可以将框的内容存储在一个变量中,然后使用差异算法(肯定有一些)来检查 onChange 的更改并适当地格式化,但只会在用户显示差异在框外点击。这会足够好吗?如果没有,您可以将 onkeypress 事件与 onkeyup 事件进行比较,并将格式应用于差异?

于 2010-11-11T16:26:16.943 回答
0

那么,您需要某种内容管理解决方案。它需要有版本控制,以便您可以存储不同版本的内容。如果您的内容只是文本,那么做差异并不难。如果它以某种方式构造(HTML 或其他不同于文本的格式),则可能很难识别更改。我认为在后一种情况下,您可以使用不可见的标签标记新文本,就像<edition version="1.0"> </edition>编辑器将突出显示的那样。您还可以为已删除的文本制作标签。而且您不能突出显示文本并且不将删除显示为选项。

于 2010-11-11T16:33:24.370 回答