如何处理用户在浏览器中退出多个选项卡? [英] How to handle the user logout in browser multiple tab?

查看:94
本文介绍了如何处理用户在浏览器中退出多个选项卡?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用codeigniter会话来存储用户登录。当用户在多个选项卡中打开时,在一个选项卡中注销时,我想要在用户访问其他选项卡时自动刷新页面。这是可能的吗?

I am using codeigniter session to store user login. When user opens in multiple tab, on logout in one tab , I want the page to be auto refreshed while user visiting the other tab. Is this possible?

推荐答案

刚刚测试了它,和最简单的方法,我可以看到

Just tested it out, and the easiest way I can see (which seems to work in Chrome at least, but may need further testing) is setting a cookie.

注销时执行类似 setcookie('loggedout',1)。您还需要在登录时执行相反操作 - unset($ _ COOKIE ['loggedout'])

On logout do something like setcookie('loggedout',1). You'll also need to do the opposite on login - unset($_COOKIE['loggedout'])

那么你只需要一些简单的Javascript ...

Then you just need some simple Javascript...

function readCookie(name) {
    var nameEQ = escape(name) + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) === ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) === 0) return unescape(c.substring(nameEQ.length, c.length));
    }
    return null;
}
window.setInterval(function() {
    if(readCookie('loggedout')==1) {
        window.location.assign('loggedout.html')
        //Or whatever else you want!
    }
},1000)


$ b b

这将检查每秒查看是否设置了cookie。魔术。

That'll check each second to see if the cookie is set. Magic.

这篇关于如何处理用户在浏览器中退出多个选项卡?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆