美文网首页
ifram中的跨域postMessage通信

ifram中的跨域postMessage通信

作者: 小溪流jun | 来源:发表于2021-10-26 14:12 被阅读0次

    一、父ifram向子页面发送消息

    //父ifram
    mounted() {
        //获取iframe元素
        let iFrame = document.getElementById("myframe");
    
        //iframe加载完毕后再发送消息,否则子页面接收不到message
        iFrame.onload = function() {
          //iframe加载完立即发送一条消息
          console.log("获取ifram", iFrame.contentWindow);
          iFrame.contentWindow.postMessage("我是ifram加载后的消息", "*");
        };
      },
    
    //子页面
    mounted() {
        //监听message事件
        window.addEventListener("message", this.receiveMessageFromIndex, false);
      },
      methods: {
        receiveMessageFromIndex(event) {
          console.log("receiveMessageFromIndex", event.data);
        },
    }
    

    二、子页面向父ifram发送消息

    //子页面
    parent.postMessage({ msg: "从子页面返回来的信息" }, "*");
    
    //父ifram
    mounted() {
       //监听message事件
       window.addEventListener("message", this.receiveMessageFromIndex, false);
     },
     methods: {
       receiveMessageFromIndex(event) {
         console.log("receiveMessageFromIndex", event.data);
       },
     },
    

    相关文章

      网友评论

          本文标题:ifram中的跨域postMessage通信

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