postMessage页面间消息传递

Posted 王小胖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postMessage页面间消息传递相关的知识,希望对你有一定的参考价值。

1.消息发送

let routeData = this.$router.resolve( path: \'/web-view\', );
const targetwindow = window.open(routeData.href, \'_blank\');
let message =  name: \'iframe\', url: url 
setTimeout(() => 
    targetwindow.postMessage(JSON.stringify(message), \'/\')
, 1000);

2.页面消息接收

created () 
  window.addEventListener(\'message\', this.onMessageChange)
,
// 监听变化
onMessageChange (e) 
   let data = e.data
   if (data) 
        let info = 
        try 
          info = JSON.parse(data)
         catch (error) 
          info = data
        
        if (info && info.name == \'iframe\') 
          this.url = info.url
        
   
 beforeDestroy ()  // 在组件生命周期结束的时候销毁。
    window.removeEventListener(\'message\', this.onMessageChange)
  ,

 

以上是关于postMessage页面间消息传递的主要内容,如果未能解决你的问题,请参考以下文章

html5 postMessage解决跨域跨窗口消息传递

跨文档消息传递 postMessage

html5 postMessage解决跨域跨窗口消息传递

解决Iframe跨域高度自适应,利用window.postMessage()实现跨域消息传递页面高度(JavaScript)

跨文档消息传递

iframe可通过postMessage解决跨域跨窗口消息传递