我正在尝试一些我真的不明白的事情。我有一个iFrame从我没有权力的另一个域加载一些内容。我"简单地"试图做的是获取iFrame的内容,以便在PHP/Javascript中使用它。这就是我面临"跨域"问题的地方。我无法访问iFrame的内容。所以令人沮丧。
所以我读了,又读了一些,看到了HTML5提供的"postMessage()"函数。我看到了这个方程组的解,但我还是找不到一个点。基本上,它与发送器和侦听器一起工作。所以我需要在iframe中有一个监听器,当它被触发时,会将内容发送回主窗口。
但是我如何在已经加载的iFrame中添加一些代码而不删除内容?
我真的不需要使用postMessage(),我可以是任何东西,只要我能得到这个该死的内容!
任何建议都是赞赏的!
这仍然是不可能的,并且有很好的理由!
要使用客户端的cookie从另一个域读取,IP和凭据需要被查看的页面以某种方式暴露信息-这是一个与侦听器(外部页面)和发送器(IFrame)一起工作的双向对话。
这是必需的一个原因:想象一个IFrame占用100%的页面。你可以在IFrame中显示一个常见的网站登录表单,但拦截击键/输入框的更改并记录它们。用户只有在检查URL时才会知道两者的区别。
如果您可以控制用户的浏览器,您可以使用GreaseMonkey的跨域AJAX来获取IFrame的内容(假设Firefox/Chrome)
不像这样帮助:
<>之前函数getContentFromIframe (iFrameName){var myIFrame = document.getElementById(iFrameName);var content = myIFrame.contentWindow.document.body.innerHTML;//对内容进行任意处理}