我们假设您有一位用户在网站上登录了自己的帐户,并使用大量标签打开了多个页面。
然后他退出其中一个标签并继续做其他事情,但随后决定返回网站。
现在,他可能已经忘记了他退出并点击其中一个剩余打开的标签中的内容,但无论他点击了什么,都要求他登录才能看到它 - 这意味着PHP页面将显示一个错误信息。
现在我的问题是:如何让浏览器注意到用户已在多个标签页面中注销。有点像Facebook的做法 - 如果你打开多个标签,然后用一个标签注销然后打开另一个,它会显示一个弹出框告诉你登录。
这是怎么做到的?
因为很明显,在发生这种事情的情况下,我不希望用户在我的页面中看到错误。
答案 0 :(得分:0)
您可以在cookie中为IsLoggedOut保存一个标记。
createCookie('IsLoggedOut','false',7);
function CheckIsLoggedOut()
{
var x = readCookie('IsLoggedOut')
if (x == "true") {
//logout and redirect to login page
}
}
当用户在任何标签中注销时,将cookie更新为true。
createCookie('IsLoggedOut','true',7);
检查间隔中的cookie状态,如果状态发生变化,则在所有其他选项卡中注销。
setInterval(CheckIsLoggedOut, 1000);