2

ユーザーが入力しているときの自動保存を管理するために、テキストエディターのWebアプリケーションに自動保存機能を実装する必要があります。私はこの種のテクノロジーについて具体的な知識を持っていないので、最新のWebベースのテキストエディターで、特に保存機能がトリガーされたときにどのように処理されるのか疑問に思います。

  • キーボードイベント自体によってトリガーされますか、それとも以前のキーボードイベントをチェックする定期的なスキャン(たとえば5秒ごと)によってトリガーされますか?
  • ネットワークトラフィックを減らすために、ユーザーが入力していないとき(たとえば、3秒間非アクティブになった後)にトリガーする必要がありますか?

助言がありますか?

ありがとう

4

3 に答える 3

5

たとえば、ここではWordpressでの自動保存について説明します。私の意見では、それはアプリケーションの種類によって異なります。最良の解決策を見つける最良の方法は、おそらく、あるサイトにアクセスしたかどうかを確認したい方法です。

したがって、「保存」ボタンをどこかに置くと、実際には数秒ごとではなく、数分ごとにトリガーする必要があると思います(Wordpressのように)。

クライアント側の言語(おそらくJavaScript)でイベントをリッスンするので、パフォーマンスについてあまり心配する必要はありません。必要に応じて10秒ごとにリッスンし、自動保存の要件が満たされているかどうかを確認してください。そうである場合は、AJAXマジックを使用してデータベースに保存します。

私があなたの場合(または私があなたのサイトのユーザーの場合)、最初のkeyUpでイベントを聴き始めたいと思います。最初の文字を入力すると、JSは1分ごとまたは500〜1000文字ごとに、AJAXを介してDBに保存します。誰かが速くタイプし、誰かが遅くタイプすることを考慮に入れるのは素晴らしいことだと思います。そのため、入力された文字数と時間の両方をチェックします。

それが私の意見です。(最終的には文法で申し訳ありませんが、編集は無料です:D)

編集:また、サイトがあなたのものであり、大量のトラフィックと多くのユーザーが予想される場合は、システムがどのように機能するかを動的に確認し、それに応じて変数を設定できます(より長い/より短い時間/文字)

于 2013-03-25T14:23:05.540 に答える
1

「正解」はないと思います。アプリケーションがどのように機能するかによって異なります。

サーバー上のデータを常にフロントエンドのテキストに対応させたい場合は、保存機能をキーボードイベントにバインドする必要があります。ただし、これは明らかに非効率的で、帯域幅を消費し、通常の状況では不要です。

データの一貫性がそれほど重要でない場合は、テキストをチェックして、一定期間後に保存する(テキストが更新されている場合)のが適切な方法です。

于 2013-03-25T14:22:23.730 に答える
1

私はブログのウェブサイトのために同様のツールに取り組んでいました。次のようなものだけでなく、より多くの計算された節約ポイントが必要であることが判明しました。

  • x秒ごと
  • 非アクティブのx秒後

上記に加えて、私はまた追加しました:

  • テキストボックスからクリックしたとき
  • ページを閉じる前に
  • 保存操作を追跡し、競合したり、何度も保存したりしないようにします
  • テキストボックスに入力していないときに自動保存を無効にする

私たちの場合、それはWebアプリケーションであり、JavaScriptを使用しましたが、高速で信頼性が高いことを確認することが重要でした。

私の解決策はhttp://www.omidmufeed.com/autosaving-text-editor-with-javascript/にあります。

これが誰かに役立つことを願っています。

于 2014-11-09T18:41:40.660 に答える