vue iframe postMessage向子框架传递token

父页面 http://localhost:9528

<template>
  <iframe src="http://localhost:9529/" ref="iframe" name="iframe" @load="load" frameborder="0"></iframe>
</template>

<script>
data(){
  return{
    iframeWin:{}
  }
},
mounted(){
  this.iframeWin = this.$refs.iframe.contentWindow
},
methods:{
  load(){
    const token = sessionStorage.getItem('token')
    let data = {
      code : 'success',
      test : token
    }
    this.iframeWin.postMessage(data,'http://localhost:9529/')
}
</script>

子页面 http://localhost:9529

<script>
created(){
   this.$nextTick(() => {
        window.addEventListener('message', messageEvent => {
        const data = messageEvent.data
        console.log(data)
        if(messageEvent.origin !== 'http://localhost:9528') return;
        if (data.code=="success") {
          sessionStorage.setItem('token', data.test)
        }
       })
   })
}
</script>
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容