我正在使用codeigniter会话来存储用户登录.当用户在多个选项卡中打开时,在一个选项卡中注销时,我希望在用户访问其他选项卡时自动刷新页面.这可能吗?
解决方法
刚刚测试过,我看到的最简单的方法(至少在Chrome中可以使用,但可能需要进一步测试)正在设置一个cookie.
注销时执行setcookie(‘loggedout’,1)之类的操作.您还需要在登录时执行相反操作 – 未设置($_ 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是否已设置.魔法.