react 嵌套iframe_React嵌套iframe,使用postMassage进行交互

本文介绍了如何在React应用中嵌套iframe并使用window.postMessage进行跨域通信。详细展示了在父组件和iframe之间,如何发送和接收数据的步骤及示例代码。
摘要由CSDN通过智能技术生成

iframe是什么? 引用:MDN

window.postMessage() 方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机 (两个页面的模数 Document.domain设置为相同的值) 时,这两个脚本才能相互通信。window.postMessage() 方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全。

从广义上讲,一个窗口可以获得对另一个窗口的引用(比如 targetWindow = window.opener),然后在窗口上调用

targetWindow.postMessage() 方法分发一个 MessageEvent 消息。接收消息的窗口可以根据需要自由处理此事件。传递给window.postMessage() 的参数(比如 message )将通过消息事件对象暴露给接收消息的窗口。

react数据传递给iframe

在父组件中引入iframe

import React from 'react';

export default function Demo() {

return (

<>

{/*

{REACT_APP_ENV}
*/}

{REACT_APP_ENV === 'dev' ? (

src="http://10.0.0.208:8000/apidata/databases?name=23124"

frameBorder="0"

height="9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值