发布消息 两个具有相同来源的子窗口
postmessage two child windows with same origin
我想知道如何在以下情况下在窗口之间实现 js 中的正确通信方式(最好使用 postMessage):
P A R E N T | |儿童1 儿童2
父级在原点1 中,两个子项都在原点 2 中(实际上是同一网站在两种不同的模式下)。
如何向确切的孩子发送消息,避免第二个孩子做出反应。
提前致谢
假设您正在打开两个弹出窗口:
/*
* In window A's scripts, with A being on <http://example.com:8080>:
*/
var popup1 = window.open(...popup details...),
popup2 = window.open(...popup details...);
popup1.postMessage('some message to popup 1', 'http://example.org');
popup2.postMessage('some message to popup 2', 'http://example.org');
在弹出窗口中,您需要添加侦听器代码:
function receiveMessage(event)
{
// Do we trust the sender of this message? (might be
// different from what we originally opened, for example).
if (event.origin !== "http://example.org")
return;
// event.source is popup
// event.data is "some message to popup 1"
}
window.addEventListener("message", receiveMessage, false);
这里的问题是两个弹出窗口都需要与父窗口属于同一域。
相关文章:
- 在两个窗口中都打开页面
- 一个链接打开两个窗口
- Bootbox,两个模式窗口-一个在另一个之上
- jquery-mobile的列表视图中的两个弹出窗口
- btAdd click事件在添加记录后打开两个窗口
- JavaScript:window.conf,有两个窗口位置
- 两个窗口之间的 Websocket 通信
- 一键在一个窗口中打开两个不同的链接图像
- 发布消息 两个具有相同来源的子窗口
- 打开窗口-一键打开两个窗口
- Javascript 多线程两个窗口焦点
- 是否可以使用 JQuery 或其他方法在两个浏览器窗口之间拖放一些内容
- 让窗口在一次单击触发两个页面重定向后保持焦点
- 两个浏览器窗口之间的通信:弹出窗口和父窗口
- 检测是否对同一站点打开了两个浏览器窗口
- Yui 示例中的两个模态窗口
- 在c中按下一个按钮,打开两个新的窗口/选项卡(不同的外部站点)
- 如何显示两个颜色框(弹出窗口)
- 我可以用这个代码显示两个不同的窗口吗
- 有两个popover.同时,不应显示两个弹出窗口.一次只能看到一个popover.有可能吗