ここに最初の投稿(長年の読者ですが)!
$_SESSION['status'] 変数をチェックし、$_SESSION 変数の値に基づいて特定の要素を非表示/表示する setInterval 関数を作成しました。(授業用に作成しているクイズサイト用です。)
ユーザーが開いている可能性のあるすべてのタブで機能するようにします。たとえば、ユーザーが 2 つのタブを開いて、サイトの 2 つの異なるページを見ているとします。ユーザーがタブ A でクイズを開始すると、タブ B の setInterval 関数は $_SESSION['status'] 変数が変更されたことを確認し、関連する要素を表示/非表示にする必要があります (学生がテスト中にサイトのページを読むのを防ぐため)。クイズ)。タブ A でクイズに答えると、タブ A に正しい情報が表示/非表示されます。ただし、タブ B は、ページを更新するまで同じままで、正しいことを行います。
タブ B を更新せずに独自に変更するにはどうすればよいですか?
大事な場合は、ブラウジング時は $_SESSION['status'] = -1、クイズ時は 0 以上の値です。
前もって感謝します!
<script>
$(document).ready(function(){
function check_login()
{
if ("<?php echo $_SESSION['status']; ?>" >= '0')
{
$("#pagecontainer").hide();
$("#quiz_msg").show();
}
else
{
$("#pagecontainer").show();
$("#quiz_msg").hide();
}
}
window.setInterval(check_login, 1000);
});
</script>