admin 管理员组

文章数量: 1086019

前几天在前端开发的时候遇到一个需求场景:用户打开了窗口A 和窗口B,当用户在窗口B退出到登陆页面了,那么A窗口也要同步退出到登录页面。这样的需求,第一想到的就是使用websocket,当窗口B退出,通知A也退出。但是用websocket代价有点大,涉及到后端,事件紧。最终考虑,但B窗口退出,用户切换到A窗口,再主动退出。

浏览器窗口切换事件

document.addEventListener("visibilitychange", () => {
     // visible-显示,hidden-隐藏
      if (document.visibilityState === "visible") {
       
      }
    });

我是再本地localstorage存了一个标志,当用户退出,本地标志清除,然后再有一堆判断逻辑。

 document.addEventListener("visibilitychange", () => {
     // '窗口切换事件激活visible-显示,hidden-隐藏
      if (document.visibilityState === "visible") {
      //下面就是一堆判断用户是否在线的逻辑
        //.......
      }
    });

本文标签: 多窗口 浏览器 窗口 事件 用户