我试图弄清楚如何在本地网络中进行2个HTML / JS应用程序的通信。 整个目的是app1可以在不使用Internet的情况下向JS2发送JS事件,反之亦然。
这两个应用程序位于同一本地网络上,但未在同一主机上运行(例如:app1托管在192.168.0.12上,app2托管在192.68.0.13上)
我听说PostMessage做了这样的事情,但是我看到的所有例子都是在1个主机上用2个HTML页面处理的。
PostMessage能做我想做的事吗?请注意,我使用的是AngularJS。
谢谢!
答案 0 :(得分:0)
是的,应该没问题。通常,您使用iframe并将app2放在app1中,或者将s2作为iframe放在另一个页面上。 然后,您可以通过
从iframe窗口(app2)向顶部窗口(app1)发送按摩window.top.postMessage('message in a bottle', '*');
然后你可以从app1窗口收听它:
window.addEventListener('message',function(event) {
console.log('received response: ',event.data);
});
在此处阅读更多相关信息:Mozilla page about postMessage