首先要介绍Messaging API,因为Web Worker和Web Socket都使用这一共同通信方法,所以作为一个通信的基本知识。
HTML5提供了在网页文档之间相互接收与发送信息的功能。使用这个功能,只要获取到窗口对象的实例,不仅同源同策(域+端口号)的Web网页之间可以相互通信,甚至可以实现跨域通信。
-
同域下的跨文档通信
同域跨文档指的是在相同域名下不同文档的通信。我们可以借助iframe标签来进行数据之间的通信。
iframe标签可以嵌套另一个标签,并且可以通过js去访问被包含的页面的window对象。
注:我们需要在相同的网站下,建立不同的文件,才能达到跨文档通信效果。在使用iframe进行通信时会产生一个contentWindow这个对象。
-
不同域下的跨文档通信
HTML5提供了在网页之间互相进行接受与发送消息的功能;可以获取到网页所在窗口的实例,不同源(域+端口号)的web网页之间的相互通信,也可以实现跨域通信。