iframe body为null

时间:2014-03-25 14:07:43

标签: javascript jquery iframe

我正在尝试使用Jquery修改IFrame中的特定div。

这是IFrame的html:

<iframe  frameborder="0" height="1588px" id="j_id1" name="j_id1" src="https://example.com/page.html" title="Content" width="100%"></iframe></body></html>

我尝试了以下内容:

console.log('iframe body: '+j$('#j_id1').contents().find('body').html());

j$('#j_id1').contents().find('div').each(function(){
    console.log(j$(this).text());
}); 

然而,这输出:

iframe body: null

如何访问和修改IFrame的内容?

1 个答案:

答案 0 :(得分:1)

作为Vanilla JS用户,我可以为您提供:

document.getElementById('j_id1').contentDocument.body

可悲的是,我并不知道如何在jQuery中完成它,但这种混合可以工作:

$(document.getElementById('j_id1').contentDocument.body).find("div").doSomething...

HOWEVER ,只有iframe来自相同的方案,主机名和端口号,才能执行此操作。在你的情况下,它不是。考虑&#34;代理&#34;目标站点通过您自己服务器上的PHP文件。