2009-09-07 70 views
0

假设一个HTML文档有一个iframe。 使用JavaScript,我想检测,在加载的HTML文件,是否可以显示iframe文档的主体。如何在加载html文档时检测iframe文档的主体是否已准备好显示?

我希望能够覆盖iframe的正文内容(在执行负载前)。 有什么建议吗?我可以用jQuery来做到吗?

说,如果,HTML文档是

<html> 
<head> 
</head> 
<body> 
<iframe id="ifrmId" src="http://www.google.com" > 
</iframe> 
</body> 
</html> 

回答

2

您可以在iframe元素上使用onload事件:

var iframe = document.getElementById('ifrmId'); 
iframe.onload = function() { 
    // iframe loaded 
    var innerDocument = iframe.contentDocument || iframe.contentWindow.document; 
}; 

编辑:使用jQuery,完全一样的想法:

$('#ifrmId').load(function() { 
    // iframe loaded 
    var innerDocument = $(this).contents(); 
}); 

请记住,如果你想操纵iframe的inn呃文件,这个文件需要在同一个域上,这是因为same origin policy的限制。