美文网首页
使用 localStorage 实现多页面通信

使用 localStorage 实现多页面通信

作者: 追星人小豪 | 来源:发表于2020-06-29 23:19 被阅读0次

    需求背景

    两个页面 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 实现多页面通信

          本文链接:https://www.haomeiwen.com/subject/ddyzfktx.html