5

削除ボタンを押した後に元に戻すオプションを提供する Web サイトをますます多く見てきました。ボタンの背後にあるロジックはどのように行われますか?

アイテムは JavaScript によって削除され、ユーザーの画面から「消え」、スケジュールされた削除が追加されました。

ユーザーに元に戻す機能を提供する他のオプションは何ですか?

4

3 に答える 3

11

これは、アプリケーションの構造に大きく依存します。

一般的な方法の 1 つは、レコード/アイテムを削除せずに、内部的に (ブール列を使用して) 削除済みとしてマークし、すべてのクエリとリストから除外することです。

ノード構造がある場合は、元の場所に復元できる「ごみ箱」ノードにアイテムを移動することができます。

どちらのバリエーションでも、削除されたアイテムは、時間 (3 週間後に削除) またはボリューム (最大 50 個の削除済みアイテムを保持し、最も古いものから削除を開始) に基づいて、時々消去されます。

于 2010-06-07T11:56:58.410 に答える
5

Pekkaに同意しますが、問題の列をブール値ではなく日時フィールドにすることをお勧めします(「削除日」などと呼びます)。

これにより、「n週間後に削除」機能が簡単に有効になり、単に「削除を取り消す」のではなく、実際に「取り消す」ことができます。

于 2010-06-07T12:45:54.433 に答える
4

HTML5 では、元に戻す実装があります。

それでも、Pekka が言ったように、アプリケーションはそれを「元に戻す」ために何が行われたかを追跡する必要があります。技術的な解決策の 1 つは、ドキュメントまたはデータのリビジョンを保存することです。したがって、ユーザーが何かを元に戻したい場合は、前のリビジョンだけが読み込まれます。

于 2010-06-07T12:07:24.960 に答える