js浏览器通信postMessage

1、背景:一个应用中内嵌了iframe,外层应用需要知道iframe做了一些具体的操作来更新页面,所以需要用到postMessage

2、代码模块

  发起方:

window.parent.postMessage({
      type: 'sign-event', //事件名,内外层统一
      data: {
        data: data //需要传递的参数
      },
    },
      '*',); //*号表示向全局发送

  接收方:

window.addEventListener('message',(e)=>{
      if(e?.data?.type === 'sign-event'){  //内外层统一的事件类型
        //todo
        // console.log(e.data.data) //传递的数据,可以打印e看参数
      }
    })

  

 

posted @ 2023-09-14 17:17  风zz  阅读(426)  评论(0编辑  收藏  举报