如何在iframe和父站点之间进行通信?

iframe中的网站不在同一个域中 ,但都是我的,我想在iframe和父网站之间进行通信。 可能吗?

对于不同的域,不可能直接调用方法或访问iframe的内容文档。

你必须使用跨文档消息 。

例如在顶部窗口中:

  myIframe.contentWindow.postMessage('hello', '*'); 

并在iframe中:

 window.onmessage = function(e){ if (e.data == 'hello') { alert('It works!'); } }; 

这个库支持HTML5的postMessage和传统的浏览器resize+哈希https://github.com/ternarylabs/port

编辑:现在在2014年,IE6 / 7的使用率是相当低的,IE8和以上都支持postMessage所以我现在build议只使用它。

https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage

window.top属性应该能够给你所需要的。

例如

 alert(top.location.href) 

请参阅http://cross-browser.com/talk/inter-frame_comm.html

你可以使用邮政API(邮政js /邮政xframe /邮政fedration)