2017-04-06 3 views
0

私たちは、クリック、mousemove、スクロール、入力などのユーザー活動イベントを送信するためにwebsocketを使用しています...それと一緒に、我々はhtml domスナップショットを送信します。 htmlスナップショットの平均サイズは約300 kbです。場合によっては、htmlスナップショットがGoogleのサーバーに届いていないことがあります。以下にいくつかのシナリオを示します。Websocketはデータフレームの損失を防ぎます

  1. ユーザーはちょうど数秒間だけ、ウィンドウを閉じます。

  2. 我々はbeforeunloadイベントに残っているイベントを送信しようとした

遅いネットワークでも動作していないものの。

この問題を解決する方法はありますか。

+0

急速に収縮するルーチンを使用して送信するデータの量を減らすことは、あらゆる状況で役立ちます。 [私の元に戻ってきたこの古いもののようなもの](http://danml.com/js/compression.js)は、HTMLやJSONの反復キー名をオリジナルの1/10にすることができますサイズ。 – dandavis

+0

ユーザーがページを閉じるときに何が起こるか心配しているのはなぜですか?彼らがあなたのページを閉じたとき、それはゲームオーバーです。それがWebの仕組みです。バックグラウンド処理タスクをユーザーのブラウザエージェントにキューイングして、自分のWebサイトから離れることを示すことはできません。私には、スタンドアロンのアプリケーションに書き直すべきものがあるように見えます。スタンドアロンアプリケーションでは、ユーザーは自分が何を取得しているのかを明示的に知っています。ユーザーにイベントやその他のフィンガープリンティング情報(DOMのように、ユーザーのスクリプトで拡張されている場合とされていない場合があります)とすべてを送信します。 – amn

答えて

0

ユーザーが再度訪問する場合は、localStorageを使用してデータを保存し、戻ったときに再送信できます。

関連する問題