ユーザーがページを更新しなくても、PHPセッションをアクティブに保つための小さなスクリプトを作成しました。ここで AJAX間隔を設定して、ページにまだフォーカスがある場合にのみリフレッシュする方法はありますか?
はJavascriptが私が生きているセッションを維持するためにPHPを経由して使用していている:それは正常に動作しますが、私はそれがページがある 場合でもrefreshTheSession.php
スクリプトを呼び出し続けることに気付きました echo 'setInterval(function(){$.post(\'/refreshTheSession.php\');},90000);';
フォーカスが合っていない、これは誰かがそのページでタブを開いたままにして、別のタブで何か他の操作を行っていてもセッションを無期限に保つことを意味するからです。
ユーザーが問題のページにまだ積極的に参加している場合のみ、セッションを有効にします。
これは可能ですか?もしそうなら、上記のコードを変更するにはどうすればよいですか?
https://stackoverflow.com/questions/3479734/javascript-jquery-test-if-window-has-focus – Connum
また、チェックアウトhttps://developer.mozilla.org/enの可能性の重複-US/docs/Web/API/Page_Visibility_API – Connum
@Connum:それは本当に私の質問に答えませんでした。私は 'if(document.hasFocus()){}'でJavascriptをラップしようとしましたが、動作しませんでしたが、ページにフォーカスがない場合でも 'refreshTheSession.php'スクリプトを呼び出していました。 – ProgrammerGirl