跨 html 消息传递

本文介绍了在HTML页面间进行消息传递的方法,主要利用window.postMessage发送消息及通过window.onmessage监听并处理接收到的数据。消息包括文本、JSON等格式,同时讨论了如何获取和设置目标窗口,以及MessageEvent对象的属性。
摘要由CSDN通过智能技术生成

跨html进行消息传递 靠的是window 对象新增的一个方法 和一个对象监听器属性

该方法是 targetWindow.postMessage(message , targetOrigin);

此方法向 targetWindow 窗口中的 html 发送消息,所以应先获取这个窗口。message 为带发送的数据,而 targetOrigin 表示发送源的域名。

这个对象监听器为    window.onmessage 这个属性是一个形如  function(event) { } 的函数。

这个 onmessage 所指定的函数的参数  为 MessageEvent 对象含有五个只读属性

1)data  表示发送来的消息的数据,这个数据可以是各种格式,比如文本,还可以是 json格式。

2)origin 属性返回发送此消息的源域名

3)lastEventId 该消息的 ID,即唯一标识

4)source 返回发送该消息的窗口

一些问题:

获取window窗口对象一般有两种方式:

1.可以新打开一个页面

		// 打开一个新窗口
		var targetWin = window.open('http://localhost:8888/target/target.html'
			,'_blank','width=400,height=300');    //①
		// 等该窗口装载完成时,向该窗口发送消息
		targetWin.onload = function ()
		{ 
			// 向http://localhost:8888/target发送消息
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值