iframe 通讯

父页面 传递

var iframe = document.getElementById('list')
    var msg = { loginName: 'arcgis', loginPassword: 'Esri1234' }
    // 判断是否加载完成  (必须得加否则 第一次进入时 无法传递)
    if (iframe.attachEvent) {
      iframe.contentWindow.postMessage(msg, '*')
    } else {
      iframe.addEventListener('load', function() {
        iframe.contentWindow.postMessage(msg, '*')
      }, false)
    }

子页面接受

 window.addEventListener('message', (event) => {
      console.log(event)

      // 通过origin属性判断消息来源地址
    }, false)

子页面向父页面发送消息

window.parent.postMessage(data,targetOrigin);

父页面接收

 window.addEventListener('message', (event) => {
      console.log(event)

      // 通过origin属性判断消息来源地址
    }, false)

 

posted @ 2020-10-26 17:13  laowang666888  阅读(161)  评论(0编辑  收藏  举报