Javascript 跨域与iframe

Javascript 跨域与iframe,javascript,iframe,cross-domain,postmessage,Javascript,Iframe,Cross Domain,Postmessage,我正在尝试做一些我真的搞不懂的事情。我有一个iFrame从另一个我没有权限的域加载一些内容。我“简单地”尝试做的是获取iFrame的内容,以便在PHP/Javascript中使用它。这就是我面临的“跨域”问题。我无法访问iFrame的内容。太令人沮丧了 所以我读了,读了更多,看到了HTML5提供的“postMessage()”函数。我看到了这个系统的解决方案,但我还是想不出一点。基本上,它与发送者和侦听者一起工作。所以我需要在iframe中有一个监听器,当被触发时,它会将内容发送回主窗口 但是如

我正在尝试做一些我真的搞不懂的事情。我有一个iFrame从另一个我没有权限的域加载一些内容。我“简单地”尝试做的是获取iFrame的内容,以便在PHP/Javascript中使用它。这就是我面临的“跨域”问题。我无法访问iFrame的内容。太令人沮丧了

所以我读了,读了更多,看到了HTML5提供的“postMessage()”函数。我看到了这个系统的解决方案,但我还是想不出一点。基本上,它与发送者和侦听者一起工作。所以我需要在iframe中有一个监听器,当被触发时,它会将内容发送回主窗口

但是如何在已经加载的iFrame中添加一些代码而不删除内容呢

我真的不需要使用postMessage(),我可以成为任何人,只要我能得到这该死的内容

任何建议都将不胜感激


谢谢大家!

像这样的东西不会有帮助:

function getContentFromIframe(iFrameName) { var myIFrame = document.getElementById(iFrameName); var content = myIFrame.contentWindow.document.body.innerHTML; //Do whatever you need with the content } 函数getContentFromIframe(iFrameName) { var myIFrame=document.getElementById(iFrameName); var content=myIFrame.contentWindow.document.body.innerHTML; //对内容做任何你需要的事情 }
这仍然是不可能的,而且有充分的理由

要使用客户端的cookie、IP和凭据从另一个域读取,需要查看页面以某种方式公开信息——这是一个与侦听器(外部页面)和发送器(IFrame)一起工作的双向对话

需要这样做的一个原因是:想象一下制作一个占据100%页面的IFrame。您可以在IFrame中显示一个常见网站的登录表单,同时拦截击键/输入框更改并记录它们。用户只有在检查URL时才会知道差异


如果您可以控制用户的浏览器,您可以使用GreaseMonkey的跨域AJAX来获取IFrame的内容(假设Firefox/Chrome)

为什么不跳过IFrame并使用PHP的
file\u get\u contents()
函数呢?因为我需要使用客户端的IP。我不能没有。。。这就是我所有问题的开始:)这在我的情况下不起作用,因为iFrame的内容是:1)XML而不是HTML 2)来自另一个域,因此我认为我不允许以这种方式访问它。iFrame正在从另一个域加载内容。同源策略禁止从另一个域访问框架内容,即使只是为了阅读。是的,跳过了这一点,请看一看:@Aaron没有办法“绕过”HTML5吗?这应该是可能的。。。不是吗?@Sudhir好吧,你建议的帖子指出,你需要接触双方,这在我的情况下是不可能的。