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

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

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

阅读 1.6k
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里面的内容和它的父级也是两个上下文。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题