window.parent.postMessage
时间: 2023-09-27 14:10:08 浏览: 45
`window.parent.postMessage` 是一种 JavaScript 方法,用于在跨域 iframe 之间进行通信。它允许在 iframe 中嵌入的网页向包含它的主页面发送消息,或者从主页面接收消息。这个方法需要指定要发送的消息,以及接收消息的目标窗口的 origin。使用此方法的常见场景包括在嵌入的社交媒体小部件中显示用户的社交媒体帖子、在 iframe 中嵌入表单以进行支付等等。
相关问题
window.parent.postmessage
窗口对象的 `parent` 属性返回当前窗口的父窗口对象。`postMessage()` 方法是用于在两个窗口之间传递消息的方法。结合起来,`window.parent.postMessage()` 可以将消息从当前窗口发送到父窗口。这个方法也可以在父窗口中被调用,来发送消息给子窗口。当然,这需要在两个窗口之间建立了通信的信道,可以使用 `window.addEventListener()` 在两个窗口中分别监听 `message` 事件来实现。
window.parent.postMessage传值
window.parent.postMessage() 是一个 JavaScript 方法,用于在嵌套的 iframe 或者父级窗口之间进行通信。它可以用来向父级窗口发送消息或者传递数据。
这个方法接受两个参数:要发送的消息和目标窗口的原始位置。
示例代码如下:
```
// 发送消息
var message = 'Hello, parent!';
window.parent.postMessage(message, '*');
// 接收消息
window.addEventListener('message', function(event) {
// 判断消息来源是否是期望的父级窗口
if (event.source === window.parent) {
// 处理接收到的消息
console.log('Received message from parent:', event.data);
}
});
```
在上面的示例中,`postMessage()` 方法用于向父级窗口发送消息,第一个参数是要发送的消息内容,第二个参数是目标窗口的原始位置。这里使用 `"*"` 作为目标位置,表示发送给任意父级窗口。
在接收消息的窗口中,通过添加一个事件侦听器 (`addEventListener()`) 来监听 `message` 事件,然后通过 `event.data` 获取接收到的消息内容。在上述示例中,如果接收到的消息来源是期望的父级窗口,就会将消息内容打印到控制台。
需要注意的是,在实际使用时,应该将目标位置参数指定为具体的有效 URL,以确保消息只发送给特定的父级窗口。