0

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

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

但是如何在不删除内容的情况下在已经加载的 iFrame 中添加一些代码?

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

任何建议表示赞赏!

谢谢 !

4

2 回答 2

0

不会有这样的帮助:

函数 getContentFromIframe(iFrameName)
{

    var myIFrame = document.getElementById(iFrameName);
    var 内容 = myIFrame.contentWindow.document.body.innerHTML;

    //对内容做任何你需要的事情    

}


于 2011-12-07T19:04:21.483 回答
0

这仍然是不可能的,并且有充分的理由!

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

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

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

于 2011-12-08T01:00:45.453 回答