基本上我只需要在javascript中以会话结束时执行某些操作。
我已经尝试了
window.onbeforeunload = function ()
但是有没有办法用cookie或其他东西来做。 我必须这样做是JavaScript,因为它将用于其他网站,而不仅仅是我的,所以我不能做任何服务器端。
答案 0 :(得分:0)
如果您网站的所有浏览器标签都已关闭,我想您想要吗?
var state=false;
setInterval(function(){
state=false;
window.postMessage("ami","*");
setTimeout(function(){
try{
if(state==false){
window.lonely();
}
}catch(e){}
},2000);
},5000);
window.addEventListener("message",function(e){
if(e.data=="ami"){
window.postMessage("no!","*");
}else if(e.data=="no!"){
state=true
}});
像这样使用:
window.lonely=function(){
alert("im alone :(");
};
答案 1 :(得分:0)
根据您的评论"使用会话Cookie,例如当窗口关闭且所有会话Cookie被删除时#34;,您是否考虑过使用window.sessionStorage
?
来自MDN上的页面
sessionStorage属性允许您访问当前源的会话存储对象。 sessionStorage类似于Window.localStorage,唯一的区别是当localStorage中存储的数据没有到期设置时,会话结束时存储在sessionStorage中的数据会被清除。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。在新选项卡或窗口中打开页面将导致启动新会话,这与会话cookie的工作方式不同。
(我的重点补充)
从你想要做的事情来看,这可能正是你所需要的。
注意:请勿将其用于存储任何身份验证或其他敏感数据。