父子窗口进行通信

这篇博客介绍了如何使用HTML和JavaScript在父窗口与子窗口之间进行通信。通过`window.open`创建子窗口,并利用`window.postMessage`方法传递信息,实现了两个窗口的数据交互。示例中展示了打开子窗口、监听并显示子窗口发送的消息的完整过程。
摘要由CSDN通过智能技术生成

准备工作

  • 创建一个文件夹,建立content.htmltest.html文件
  • 使用VSCode打开这个文件夹

代码

  • test.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>first electron</title>
    </head>
    <body>
      <div>
        <button onclick="openSonWindow()">打开子窗口 window.open</button>
      </div>
      <div id="msgContainer"></div>
    </body>
    <script>
    // 打开一个子窗口
    function openSonWindow () {
      // window.open('https://hbiao68.blog.csdn.net/')
      window.open('content.html')
    }
    
    setInterval(window.addEventListener('message', (eventObj) => {
        document.querySelector('#msgContainer').innerHTML = eventObj.data
    }));
    // 监听子窗口传递过来的数据,然后在界面上显示出来
      </script>
    </html>
    
  • content.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <body>
      <button onclick="sendMsgToParent()">向父窗口传递信息</button>
    </body>
    <script>
    function sendMsgToParent () {
      console.log(11111);
      window.opener.postMessage('我是子窗口传递过来的信息,oh yeah')
      console.log(2222);
    }
    </script>
    </html>
    
  • test.html 上,右键,点击 Open With Live Server
    在这里插入图片描述
  • 点击按钮就可以进行通信啦
    在这里插入图片描述
  • oye,成功
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值