【发布时间】:2011-03-06 12:57:27
【问题描述】:
我可以在不同域的 iframe 上收听任何事件吗?例如,在 domain1 上有这个页面:
<html>
<body>
<iframe src="domain2.com"></iframe>
</body>
</html>
关于 iframe 的 contentWindow,我可以监听哪些事件?
谢谢!
【问题讨论】:
标签: javascript iframe cross-domain
我可以在不同域的 iframe 上收听任何事件吗?例如,在 domain1 上有这个页面:
<html>
<body>
<iframe src="domain2.com"></iframe>
</body>
</html>
关于 iframe 的 contentWindow,我可以监听哪些事件?
谢谢!
【问题讨论】:
标签: javascript iframe cross-domain
有几种方法可以做到这一点。在较新的浏览器中,您可以使用 window.postMessage 在窗口之间跨域进行通信(也适用于 iframe):
https://developer.mozilla.org/en/DOM/window.postMessage
对于较旧的浏览器,您可以更改 iframe 位置的 URL 片段以来回传递消息。您可以使用单独的 iframe 来传递消息以避免轮询: http://ajaxian.com/archives/cross-domain-iframe-communication-without-location-polling
【讨论】:
我不明白这应该是什么问题(在 IE 中有来自另一个域的 iframe)也许您的问题是您直接从您的计算机打开文件...一旦这些文件被托管,您就不应该看到这个问题发生。
【讨论】: