Javascript 如何在浏览器中重新打开最近的选项卡时清除会话
我可以在关闭浏览器的选项卡或窗口时使会话无效,但当我单击重新打开最近的选项卡时,它会按原样加载最近的页面 我想重定向到登录页面,如果单击重新打开,我会清除cookiesJavascript 如何在浏览器中重新打开最近的选项卡时清除会话,javascript,Javascript,我可以在关闭浏览器的选项卡或窗口时使会话无效,但当我单击重新打开最近的选项卡时,它会按原样加载最近的页面 我想重定向到登录页面,如果单击重新打开,我会清除cookiesonUnbeforeUnload,但它不起作用 这是我的密码: `$(window).on("beforeunload", function(e) { var aCookies=document.cookie.split('; '); for (var i = 0; i < aCookies.length;
onUnbeforeUnload
,但它不起作用
这是我的密码:
`$(window).on("beforeunload", function(e) {
var aCookies=document.cookie.split('; ');
for (var i = 0; i < aCookies.length; i++) {
var cookie = aCookies[i];
var eqPos = cookie.indexOf("=");
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + '=0; expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/';
}
window.location.href = "/safe-unsecured/logout";`
}
`$(window).on(“beforeunload”,函数(e){
var aCookies=document.cookie.split(“;”);
对于(变量i=0;i-1?cookie.substr(0,eqPos):cookie;
document.cookie=name+'=0;expires=Thu,1970年1月1日00:00:00 GMT;path=/;
}
window.location.href=“/safe unsecured/logout”`
}
在加载页面时,我清除cookies
任何帮助都将不胜感激浏览器不会在关闭或浏览页面时加载新页面。永远不会请求注销页面 此外,只要浏览器未重新启动,会话将存在于浏览器中。会话不会因关闭选项卡而失效,而是会因整个浏览器关闭而失效。真正实现所需的唯一方法是让cookie保持一分钟的活动状态,并运行计时器,每10秒更新一次cookie到期时间,使其不会过期只要页面处于打开状态,或者选项卡在一分钟内未重新打开,就可以使用ire 这是更新代码的一个示例。您需要自己添加逻辑来检查cookie的存在性以及验证所需的所有其他内容
window.myCookieValueThatIReadBefore = 'Hello';
window.setInterval(function() {
setCookie('cookie_name', window.myCookieValueThatIReadBefore,1)
}, 1000*10);
function setCookie(cname, cvalue, exminutes) {
var d = new Date();
d.setTime(d.getTime() + (60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
请分享您迄今为止所做的尝试。可能重复您所说的“重新打开最近的选项卡”是什么意思?您只是在谈论将背景选项卡置于焦点位置吗?如果是这样,您可以使用
window.onblur
和window.onfocus
来检测此问题(但当用户切换到其他浏览器选项卡时,您绝对不应该清除会话,这不是正常或预期的行为。)如果使用window.onfocus
,也要小心,因为它的触发频率比您预期的要高(例如,关闭警报()
后)。重新打开最近的选项卡是chrome上的一个选项,快捷键为Ctrl+Maj+T