簡體   English   中英

如何確定 OT 文本差異

[英]How to determine OT Text Diff

我正在嘗試對我的前端代碼實施sharedb操作。 我目前擁有它,因此當我的react組件觸發其onChange事件時,它會提交一個操作( https://github.com/ottypes/json0 ),特別是text0 例如:

如果我的文字是: Hello World

然后我刪除l使其成為Hello Word

然后我在末尾添加s使其成為Hello Words

我想要它,以便我的 OT 文本差異應該具有提交給其他客戶的操作(除非這是錯誤的)

[{p: 9, d: 'l'}, {p: 10, i: 's'}]

使用庫或手動生成這些操作的最佳方法是什么? 我研究了也許使用diff庫,但它沒有給出操作發生位置的任何索引,盡管給出了插入和刪除操作是什么。

您可以使用瀏覽器提供的選擇屬性和 onkeydown 事件手動構建變更集,或使用差異庫,例如 Neil Fraser 的https://www.npmjs.com/package/diff_match_patch對我非常有用(免責聲明: 我是那個包的發布者。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM