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

时间:2014-11-12 23:32:22

标签: javascript html angularjs cross-domain postmessage

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

这两个应用程序位于同一本地网络上,但未在同一主机上运行(例如:app1托管在192.168.0.12上,app2托管在192.68.0.13上)

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

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

谢谢!

1 个答案:

答案 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