第一篇在这里(虽然是长期读者)!
我创建了一个 setInterval 函数来检查 $_SESSION['status'] 变量,然后根据 $_SESSION 变量的值隐藏/显示某些元素。(这是我为我的班级创建的测验网站。)
我希望它可以在用户可能打开的任何选项卡上工作。因此,假设用户打开了 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>