2010-10-28 134 views
0

我有两个不同的应用程序加载到不同的帧。 我需要他们沟通 我知道javascript安全模型不允许从不同域加载的帧通信 但由于我控制两个应用程序,也许有一种方法可以允许从特定的另一个域加载的帧与此帧通信Javascript:帧之间的通信

如果不可能,这是什么黑客? 应用程序是不同的,我需要在不同的域(或者至少不同的端口) 加载它们,我不能运行他们作为一个应用

+0

请尝试http://easyxdm.net/wp/我不知道它下面有什么,但我想它不仅仅是一个简单的postMessage ...还有另一个用于跨域消息传递的jquery插件,但我忘了它的名字。 – inf3rno 2013-10-03 23:27:17

回答

1

如果它们共享顶级域名(例如,foo.example.combar.example.com),那么你就可以将document.domain = 'example.com';设置为relax same-origin restriction

如果您只支持HTML5浏览器,那么就有postMessage()准确用于跨域通信。

其他选项有JSONP(跨域<script>标签的花式名称)和XmlHttpRequest通过每个域上的服务器代理。

+0

谢谢你的声音,像 – 2010-10-28 23:46:56

+0

postMessage是我最好的解决方案 – 2010-10-28 23:49:38