2017-07-13 4 views
0

私は社内のデバッグシステムを構築して、ユーザーが特定のものにどのように反応するかを確認したいと考えています。jQuery:すべてのページのやりとりをログする

すべてのマウスのクリックや移動などをサーバーに返信するにはどうすればよいでしょうか?私が考えてきた

一つの方法は、すべてのためにbodyにバインドを実行し、ちょうどページのアンロードで送信されたアレイに追加することですが、私は、ユーザーがすることを決定した場合、これは真剣にブラウザを殺すことができる考え出し視界のすべてをクリックするか、ページにマウスを動かすだけで4時間働いている。

理想的には、Webソケットを避けたいです。

これは以前に行われていると確信していますので、どのように完了したのかよく知りたいと思います。

おかげであなたは不思議の人のために

+0

ポーリング手法を使用して、小さなキューにイベントを格納し、x秒ごとにajax呼び出しを実行します。呼び出しが実行されると、キューは消去されます。これは私のアプローチです... – hallleron

+0

私はそれについて考えていました - 基本的にsetTimeout/setIntervalを使用していましたが、サーバーを過度に叩いて潜在的に誰かのブラウザを殺すのではないでしょうか? – DomLip

答えて

0

は、私は、@ hallleronのアプローチの組み合わせで、ラッパーとしてここで見つけるの回答(How do you log all events fired by an element in jQuery?

を使用 - |焼成で区切られた文字列の値を格納しますoff AJAXは3.5秒ごとにクエリを実行し、配列をnullに戻します。ページのアンロード時に、AJAXクエリが最後に1回発生します。

また、動的に生成されたフォームと内容を自動投稿する(再)iFrameを動的に作成することも検討しています。何らかの理由でAJAXがハングした場合に備えてです。

すべての配列文字列は独自のCSRFトークンを使用し、クライアント側でランダムに生成されたIDを持ち、サーバー側でハッシュされ、すでに送信されているかどうかを確認するために使用されます。 。

サーバー側では、ARCHIVEエンジンタイプとINSERT DELAYED挿入メソッドを使用して格納されます。

最終的には、おそらくロギングシステムをEC2/RDSグループに移動します。

すべてこの背後にある理由がクリックされたウェブサイトの最も人気のある機能を、見ることができるようにすることです(例えば1がより人気がある2つのホームボタン、などがある場合)

・ホープ、この誰もがこの苦境に立ち向かうのを助けます。

関連する問題