我正在使用 codeigniter 会话来存储用户登录信息。当用户在多个选项卡中打开时,在一个选项卡中注销时,我希望在用户访问其他选项卡时自动刷新页面。这可能吗?
刚刚测试了一下,我能看到的最简单的方法(似乎至少在 Chrome 中有效,但可能需要进一步测试)是设置 cookie。
注销时执行类似的操作setcookie('loggedout',1)
。您还需要在登录时执行相反的操作 -unset($_COOKIE['loggedout'])
那么你只需要一些简单的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)
它将每秒检查一次以查看 cookie 是否已设置。魔法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)