我有两个不同的应用程序加载到不同的框架中。 我需要他们沟通 我知道javascript安全模型不允许从不同域加载的帧进行通信 但由于我控制两个应用程序,可能有一种方法允许从特定的另一个域加载的帧与该帧通信
如果不可能是什么黑客? 应用程序不同,我需要在不同的域(或至少不同的端口)加载它们 我无法将它们作为一个应用程序运行
答案 0 :(得分:1)
如果他们共享顶级域名(例如foo.example.com
和bar.example.com
),那么您可以将document.domain = 'example.com';
设置为relax same-origin restriction。
如果您仅支持HTML5浏览器,则postMessage()完全支持跨域通信。
其他选项包括JSONP(跨域<script>
标记的花哨名称)以及通过每个域上的服务器代理XmlHttpRequest
。