如何获取iframe内容

时间:2017-08-02 16:27:35

标签: iframe download

如何从iframe下载内容?

enter image description here

不工作 的document.getElementById( 'iframeID'); (显示“对象HTMLIFrameElement”不是内容) $(iframeID).contents()发现( “HTML”)的HTML();

1 个答案:

答案 0 :(得分:0)

由于浏览器强加的同源政策,这是不可能的。除非您在同一个域中,否则您无法访问该iframe的内容。

有些方法会给你一个空结果:

document.getElementById('your-wiki-frame').innerHTML
> ""
document.getElementById('your-wiki-frame').innerText
> ""

其他方法可能会明确告诉您有关限制的内容:

window.frames[0].body
> SecurityError: Permission denied to access property "body" on cross-origin object

这可能看起来很痛苦,但如果您只是某人尝试以编程方式访问Wikipedia的内容,则您不需要将浏览器作为中介。

如果真的想要将浏览器用于这些恶作剧,您可以通过您控制的HTTP代理路由所有流量,以便根据' en.wikipedia建立一些特殊路径.ORG' (例如http://en.wikipedia.org/your-special-page)返回您自己的网站。这样,您的浏览器就会接受您的网页来源与您尝试访问的维基百科内容相同。从本质上讲,您需要对自己进行中间人攻击,当然它只能在您控制的网络上运行,如果您尝试访问,则会遇到混合媒体限制在通过http。

提供的页面中通过https提供的iframe