我想学习如何在iframe的onLoad事件中阅读iframe内容并将其内容写入主页?感谢..
答案 0 :(得分:11)
您可以在父页面中使用此jquery函数,它还支持许多其他函数来添加和删除内容:
<script type="text/javascript">
function myFunction() {
var $currIFrame = $('#Frame1');
$currIFrame.contents().find("body #idofElement").val('Value i want to set');
}
</script>
在上面的代码中:#idofElement
是iframe中HTML页面中要设置其值的元素。我希望它可以帮助你...
答案 1 :(得分:6)
过去的这一天,我一直在努力。你如何访问iframe似乎很重要。如果您使用document.getElementById()
,则会获得一个没有onload
事件的Iframe对象。但是,如果您通过window.frames[]
数组访问,例如
var iframeWindow = top.frames['iframeID'],
你得到一个窗口对象,它确实有onload事件。
(即使用frame id属性,但ff使用name属性。所以使用两者并使其相同)
然后您可以指定
iframeWindow.onload=function(){iframeContent=iframeWindow.document.body.innerHTML;};
请注意,由于iframeWindow是一个窗口对象,因此您可以使用窗口语法来访问内容。
答案 2 :(得分:2)
jQuery("#xiframe").load(function()
{
var doc = null;
try{
doc = this.document || this.contentDocument || this.contentWindow && xiframe.contentWindow.document || null;
} catch(err) {
alert('error: ' + err.description);
}
try {
if(!doc) {
alert('error');
return false;
}
} catch(err) {
alert('error: ' + err.description);
return false;
}
alert(String(jQuery(doc.body).html());
}
答案 3 :(得分:1)
document.getElementById('iframeID').contentWindow.onload = function(){
top.document.innerHTML = this.document.innerHTML;
}
答案 4 :(得分:0)
如果这两个文档位于同一个域中,则可以使用子文档的onload事件处理程序中的window.parent.document对象来访问父文档。