指示用户已在多个选项卡中注销

时间:2015-07-06 02:47:58

标签: php jquery browser tabs

我们假设您有一位用户在网站上登录了自己的帐户,并使用大量标签打开了多个页面。

然后他退出其中一个标签并继续做其他事情,但随后决定返回网站。

现在,他可能已经忘记了他退出并点击其中一个剩余打开的标签中的内容,但无论他点击了什么,都要求他登录才能看到它 - 这意味着PHP页面将显示一个错误信息。

现在我的问题是:如何让浏览器注意到用户已在多个标签页面中注销。有点像Facebook的做法 - 如果你打开多个标签,然后用一个标签注销然后打开另一个,它会显示一个弹出框告诉你登录。

这是怎么做到的?

因为很明显,在发生这种事情的情况下,我不希望用户在我的页面中看到错误。

1 个答案:

答案 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);