ご覧のとおり、Facebookには5つの開いているタブがありますが、そのうちの1つで「ログアウト」してから別のタブに移動すると、ログアウトしていることを検出して通知し、ユーザーをにリダイレクトします。ログインページ。これはどのように機能していますか?PHP/jQueryを使って自分のWebアプリ用にそのようなものを作りたいと思っています。ヒントが必要です...
前もって感謝します
他のアプリケーションと同じように、ログアウトすると、サーバーはクライアントからCookieを削除するか、その値を変更して「ログアウト」ステータスを示します。後で新しいリクエストが行われると、サーバーはCookieでこの状態を検出し、ログアウトしたユーザーに適切なコンテンツを返します。
FacebookはAJAXでこれを行いますが、これによって状況が変わることはありません。ブラウザの開発者ツールを使用してFacebookのAJAXリクエストをスパイすると、すべての厄介な詳細を見ることができます。
最も簡単な方法の1つは、ユーザーがログインしているかどうかを制御するSession変数を用意することです。ログアウトを押すと、その変数がfalseに設定されます。
Facebookには、セッションがまだ有効であることを確認するために、サーバー側スクリプトへのある種のajax呼び出しを定期的に呼び出すスクリプトがあります。有効でなくなると、ajax呼び出しによってポップアップが表示されます。