不同的上下文之间传递消息是指的不同的进程之间吗?有哪些不同的上下文种类呢?

MessagePort是一个允许在不同上下文之间传递消息的Web功能。 就像 window.postMessage, 但是在不同的通道上。

这句话理解不到。
不同的上下文之间传递消息是指的不同的进程之间吗?有哪些不同的上下文种类呢?

阅读 1.7k
1 个回答

举个例子
在a窗口控制台用js打开一个新窗口

b = window.open() // b 是新打开的窗口对象

在新打开的窗口控制台绑定事件

window.addEventListener("message", receiveMessage, false);

function receiveMessage(event)
{
  console.log(event)

  // ...
}

然后在窗口a向窗口b传递数据,你在b窗口会看到有接收到数据

b.postMessage('b')

这里的a和b就是两个上下文了

另外一种就是 iframe,这个就很常用。iframe里面的内容和它的父级也是两个上下文。

推荐问题