最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

浏览器窗口切换触发事件(多窗口用户同步退出)

业界 admin 1浏览 0评论

前几天在前端开发的时候遇到一个需求场景:用户打开了窗口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") {
      //下面就是一堆判断用户是否在线的逻辑
        //.......
      }
    });

前几天在前端开发的时候遇到一个需求场景:用户打开了窗口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") {
      //下面就是一堆判断用户是否在线的逻辑
        //.......
      }
    });

发布评论

评论列表 (0)

  1. 暂无评论