Javascript:框架之间的通信
我有两个不同的应用程序加载到不同的框架中。 我需要他们沟通 我知道javascript安全模型不允许从不同域加载的框架进行通信 但由于我控制这两个应用程序,也许有一种方法可以允许从特定的另一个域加载的框架与该框架进行通信
如果不可能,那么有什么破解方法? 应用程序不同,我需要在不同的域(或至少不同的端口)加载它们 我无法将它们作为一个应用程序运行
I have two different applications loaded into different frames.
I need them to communicate
I know that javascript security model does not allow frames loaded from different domains to communicate
but since I control both applications maybe there is a way to allow frames loaded from specific another domain to communicate with this frame
If it is not possible what's the hack around?
Apps are different and I need to load them at different domains (or at least different ports)
I can not run them as one app
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果它们共享顶级域(例如
foo.example.com
和bar.example.com
),那么您可以设置document.domain = 'example. com';
到放宽同源限制。如果您仅支持 HTML5 浏览器,则可以使用 postMessage() 正是用于跨域通信。
其他选项是 JSONP (跨域
标记)并通过每个域上的服务器代理
XmlHttpRequest
。If they share top-level domain (e.g.
foo.example.com
andbar.example.com
), then you can setdocument.domain = 'example.com';
to relax same-origin restriction.If you support only HTML5 browsers, then there's postMessage() exactly for cross-domain communication.
Other options are JSONP (fancy name for a cross-domain
<script>
tag) and proxying ofXmlHttpRequest
via the server on each domain.