我可以收听任何跨域iframe事件吗?

时间:2010-06-21 21:19:23

标签: javascript iframe cross-domain

我可以在其他域上的iframe上收听任何事件吗?例如,将此页面放在domain1上:

<html>
<body>
  <iframe src="domain2.com"></iframe>
</body>
</html>

关于iframe的contentWindow,我可以听哪些事件?

谢谢!

2 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。在较新的浏览器中,您可以使用window.postMessage在窗口之间跨域进行通信(也适用于iframe):

https://developer.mozilla.org/en/DOM/window.postMessage

对于旧版浏览器,您可以更改iframe位置的网址片段来回传递消息。您可以使用单独的iframe来传递消息以避免轮询: http://ajaxian.com/archives/cross-domain-iframe-communication-without-location-polling

答案 1 :(得分:0)

我没看到这应该是一个问题(在IE中有另一个域的iframe)也许你的问题是你是直接从你的计算机打开文件......一旦这些文件被托管你就不应该看到这个问题发生。