zoukankan      html  css  js  c++  java
  • iframe的坑

    通信例子

    parent:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width">
        <title>MathJax v3 with interactive TeX input and HTML output</title>
        <script src="./js/jquery.min.js"></script>
    </head>
    
    <body>
    
        <iframe id="child" src='./child.html' width="800" height="600px" onload="echartIframeOnLoad()"></iframe>
        <script>
            function echartIframeOnLoad(e) {
                document.getElementById('child').contentWindow.postMessage(
                    '我是你爸爸3',
                    '*'
                );
            }
            $(function () {
                document.getElementById('child').contentWindow.postMessage(
                    '我是你爸爸1',
                    '*'
                );
            });
            setTimeout(() => {
                document.getElementById('child').contentWindow.postMessage(
                    '我是你爸爸2',
                    '*'
                );
            }, 500)
            window.addEventListener('message', function (e) {
                // console.log('收到消息,child说')
                var d = e.data;  //e.data  里面有自己所传的所有参数  可以根据参数做自己的判断
                console.log(d);
            }, false);
        </script>
        </script>
    </body>
    
    </html>

    child:

    <!DOCTYPE html>
    <html style="height: 100%">
    
    <head>
        <meta charset="utf-8">
    </head>
    
    <body style="height: 100%; margin: 0">
        <script type="text/javascript">
            window.addEventListener('message', function (e) {
                var d = e.data;  //e.data  里面有自己所传的所有参数  可以根据参数做自己的判断
                top.postMessage(
                    {
                        mess: d,
                        from: 'child'
                    },
                    '*'
                );
            });
        </script>
    </body>
    
    </html>

    结果:

     消息 "我说你爸爸1"一定收不到。"我是你爸爸2",当网速很差的时候,也收不到。 所以,父窗口一定要等到iframe加载完成后,才能发送消息!

  • 相关阅读:
    Google黑板报上连载的长文
    sql server2000 数据同步
    sql server 2000 数据同步(2)
    reset sql server express sa password
    Fetion分析之二:服务器地址从何而来——变态的配置文件(转)
    CentOS软件安装血泪经验(转)
    《Unix & Linux 大学教程》(转)
    有关CentOS6的man报错
    linux 命令行学习笔记
    ubuntu 無法掛載ntfs分區
  • 原文地址:https://www.cnblogs.com/xunhanliu/p/12180540.html
Copyright © 2011-2022 走看看