主要な学校のプロジェクトでは、リアルタイムの共同編集者を実装しています。少し背景を説明すると、基本的にこれが意味するのは、2人(またはそれ以上)のユーザーが同時にドキュメントに入力でき、それらの変更が自動的に相互に伝播されることです(Etherpadと同様)。
今私の問題は次のとおりです:
ユーザーがHTMLテキストフィールドに対して実行した変更を検出できるようにしたい。彼らはできる:
- 文字を挿入する
- 文字を削除する
- 文字列を貼り付けます
- 文字列をカットする
これらの変更のどれが発生したかを検出し、「位置2に文字「c」を挿入」などのように他のクライアントに通知できるようにしたいと思います。
とにかく、これらの変更の検出を実装する方法についてアドバイスをもらいたいと思っていましたか?
私の最初の試みは、変更が発生する前後のニンジンの位置を検討することでしたが、これは惨めに失敗しました。
2回目の試行では、テキストフィールドの新旧の値の内容全体を比較することを考えていました。このソリューションで明らかな何かが欠けていますか?もっと簡単なものはありますか?