我可以在同一本地网络但不在同一主机中的两个文件之间使用PostMessage吗

Can I use PostMessage between 2 files in the same local network but not the same host?

本文关键字:文件 两个 之间 PostMessage 本地网络 主机 我可以      更新时间:2023-09-26

我正试图弄清楚如何在本地网络中实现2个HTML/JS应用程序的通信。整个目的是,app1可以在不使用Internet的情况下向app2发送JS事件,反之亦然。

两个应用程序都在同一个本地网络上,但不是在同一台主机上运行(例如:app1托管在192.168.0.12上,app2托管在192.68.0.13上)

我听说PostMessage可以做这样的事情,但我看到的所有例子都是在一个主机上处理2个HTML页面。

PostMessage可以做我想做的事吗?请注意,我使用的是AngularJS。

谢谢!!

是的,应该没有问题。通常,您使用iframe并将app2放置在app1中,或者将其作为同级iframe放置在另一个页面上。然后,您可以通过从iframe窗口(app2)向顶部窗口(app1)发送消息

window.top.postMessage('message in a bottle', '*');

然后你可以从app1窗口收听:

window.addEventListener('message',function(event) {
    console.log('received response:  ',event.data);
});

点击此处阅读更多信息:Mozilla关于postMessage 的页面