現在のシナリオ
SPA ウェブアプリの 1 つで、 POST リクエストを使用してバックエンドに情報を渡すカスタム トラッカー リクエストを使用してcta clicks
、などのさまざまなユーザー アクションを追跡しています。page navigations
問題 現在、これらの追跡はインスタントを要求するため (非同期方式ですが、同じスレッドで実行されます)、これらの要求は同じページ スレッドで発生する他のイベントと競合します。
望ましい効果 理想的には、これらの追跡データを収集し、一定の時間間隔 (おそらく 1 分ごと) に単一の要求を送信できれば、クライアント側のパフォーマンスが大幅に向上し、追跡要求が行われるサーバーの負荷も軽減されます。送信されます。
ソリューション
- Localstorage の使用 - 私の頭に浮かんだ即時の解決策の 1 つは、LocalStorage を使用して追跡データを保持することでした。この追跡データは、呼び出しが発生する直前にユーザーがページを離れても保持されます。しかし、問題は、
x seconds
タイムアウトが原因で、ユーザーがタブを閉じて戻ってこない場合、データは localStorage にありますが、送信されないことです。
この望ましい効果を達成するのに役立つ適切な解決策はありますか? もしかしてbackgroundSync
API?