Try:
var o = document.createElement("iframe");//这里这样写更保险
o.id = 'addNodeFrame';
document.body.appendChild(o);alert(o.contentWindow.body.innerHTML)//主要问题在这里。
var o = document.createElement("iframe");//这里这样写更保险
o.id = 'addNodeFrame';
document.body.appendChild(o);alert(o.contentWindow.body.innerHTML)//主要问题在这里。
<html>
<head>
<SCRIPT>
function fnNavigate()
{
var o = document.createElement("iframe");
document.body.appendChild(o);
for(i=0;i<document.all.length;i++){
if(document.all(i).tagName=="IFRAME"){
alert(document.all(i).contentWindow.document.body.innerHTML);
}
}
alert(o.contentWindow.document.body.innerHTML)
}
</SCRIPT>
</HEAD>
<BODY>
<BUTTON onclick="fnNavigate();">Navigate Frames</BUTTON>
<IFRAME SRC=""></IFRAME>
</BODY>
</HTML>
这样是对的,但是for(i=0;i<document.all.length;i++){
if(document.all(i).tagName=="IFRAME"){
alert(document.all(i).contentWindow.document.body.innerHTML);
}
}
var o = document.createElement("iframe");
document.body.appendChild(o);
alert(o.contentWindow.document.body.innerHTML) 这么写就错了,不知是什么原因
加了这个应该会好点
try{
if(o.document.readyState=='complete'){
alert(o.contentWindow.document.body.innerHTML);
}else if(o.document) {
o.document.onreadystatechange = function () {
if(o.document.readyState=='complete'){
alert(o.document.readyState)
alert(o.contentWindow.document.body.innerHTML);
}
}
}
}catch(e){}