Mozilla supports the W3C standard of accessing iframe's document object through IFrameElm.contentDocument, while Internet Explorer requires you to access it through document.frames["name"] and then access the resulting document.
So you need to detect the browser and on IE do something like this instead:
document.frames['iView'].document;
回答2:
The cross-browser equivalent to contentDocument (including Firefox itself, where contentDocumentdoes work) is contentWindow.document.
You seem to want to get the contents of the iframe right?
IE7 and FF2:
var iframe = document.getElementById('iView'); alert(iframe.contentWindow.document.body.innerHTML);
回答4:
Use feature detection, as contentDocument is supported in IE 8:
var iframe = document.getElementById("iView");var iframeDocument =null;if(iframe.contentDocument){ iframeDocument = iframe.contentDocument;}elseif(iframe.contentWindow){// for IE 5.5, 6 and 7: iframeDocument = iframe.contentWindow.document;}if(!!iframeDocument){// do things with the iframe's document object}else{// this browser doesn't seem to support the iframe document object}
回答5:
contentWindow.document.body.innerHTML
is working for me in Internet Explorer and Firefox, whereas