2016-11-01 8 views
1

ユーザーがログインして「ゲームを開始」ボタンをクリックし、ユーザーがそのボタンをクリックしてゲームページに移動した後にランダムトークン(およびチームJSON)が生成されます。この機能は、ゲームページに新しいトークン/チームオブジェクトがロードされるたびにFirebaseデータベースが更新されるという点で機能しますが、私が避けたいのは、ログインしている間にユーザーがページをリフレッシュし続けると、ユーザーがページを更新するときに関数が起動しないようにするにはどうすればよいですか?

ログインしたセッションを追跡する最も良い方法は何ですか?クッキーを追跡しようとする方が良い方法でしょうか?

+1

なクッキーおよび/またはのlocalStorageなど(例えばFirebase認証用APIなど)サーバー側のセッション管理とクライアント側のツールがすべてです

を試してみました@ sub6resourcesが以下に答えたので、このユースケースを解決するのに有益です。 どのツールを使用し、どのようにソリューションにアプローチするかは、システムアーキテクチャに大きく依存します。 –

+0

この関数呼び出しはどこで書かれていますか?この関数のコードを共有できますか? –

答えて

1

すでにFirebaseを使用している場合は、ログインセッションをうまく処理するFirebase Auth APIをご覧ください。

ゲームセッションを保存しているだけで安全で価値のないものがない場合、Cookieは大丈夫です。ユーザーが編集できることを覚えておいてください。

ページがリフレッシュ時に関数を呼び出さないようにするには、これを行うための良い方法は、クッキーを使用することです。ユーザーが最初にページにアクセスしたときにクッキーを作成し、ページが読み込まれたときにクッキーをチェックし、クッキーが含まれていない場合はその関数を呼び出すことができます。新しいゲームを開始したい場合、ユーザーがクッキーを削除する方法を与えることもできます。

-1

あなたはevent.preventDefault()

https://api.jquery.com/event.preventdefault/

+1

問題は、*デフォルトの*イベント処理ではなく、JSイベントの処理です(ページに最初に到着してからページを更新する方法を区別する方法です) – Quentin

関連する問題