javascript:与iframe的消息互通

本文介绍了一种使用postMessage进行iframe与父页面间通信的方法。通过示例代码展示了如何从父页面向iframe发送消息,以及从iframe向父页面发送消息的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感觉之前应该写过iframe的使用,但是可能就是简单的去调用父类的某个方法而已,现在的话改改,使用postmessage,感觉比较正式点,其实也是用parent啦,哈哈

关于postmessage的解释:无敌的mdn

直接上代码:

父html:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>

	<body>
		<iframe src="myiframe.html"></iframe>
		<button class="mysendbtn">按钮</button>
	</body>

	<script>
		window.onmessage = function(e) {
			console.log(e.data);
			//接受到消息后直接给iframe设置一个消息
			var url = document.location.origin + '/myiframe.html';
			document.querySelector("iframe").contentWindow.postMessage("这个是由主页面发送到ifame的信息", "*");
		}
		document.querySelector(".mysendbtn").addEventListener("click",function(){
						document.querySelector("iframe").contentWindow.postMessage("这个是通过按钮点击向iframe发送信息", "*");

		});
	</script>

</html>

iframe页面:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
		this is a iframe called iframe
	</body>

</html>
<script>
	window.parent.postMessage("这个是由iframe向父级页面发送信息", "*");
	window.onmessage = function(e) {
		console.log(e.data);
	}
</script>
很简单,浑水摸鱼完了。记录下来,自己今后做整理用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值