一对一直播源码,使用 localStorage 实现多页面通信

需求背景

两个页面 A、B,B 页面关闭时,通知 A 页面请求接口刷新列表页
在这里插入图片描述

实现

使用 storage 事件实现页面通信,约定好通信的 key,这里我们假定 key 为 refresh_list

A 页面 监听 storage 事件

mounted() {
  window.addEventListener('storage', this.otherWindowListener, false);
  this.$on('hook:beforeDestroy', () => {
    window.removeEventListener('storage', this.otherWindowListener);
  });
},
methods: {
  otherWindowListener(event) {
    if (event.key === 'refresh_list'){
      // do something
    };
  },
},

B 页面,当保存时,设置约定好的 localStorage key 值,关闭页面

methods: {
  close() {
    localStorage.setItem('refresh_list', new Date().getTime());
    try {
        window.close();
      } catch (e) {
        console.log(e);
    }
  },
},

以上就是一对一直播源码,使用 localStorage 实现多页面通信, 更多内容欢迎关注之后的文章

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐