contentDocument for an iframe

testndtv picture testndtv · Jul 5, 2011 · Viewed 33k times · Source

What exactly does "contentDocument" represent for an iframe (or even the old "frame" element)? Is it equivalent to the "html" element or the "body" element ? What is it's use? And is this property supported across all the browsers?

Answer

mplungjan picture mplungjan · Jul 5, 2011

w3.org

contentDocument of type Document, readonly, introduced in DOM Level 2 The document this frame contains, if there is any and it is available, or null otherwise.

MDN

From the DOM iframe element, scripts can get access to the window object of the included HTML page via the contentWindow property. The contentDocument property refers to the document element inside the iframe (this is equivalent to contentWindow.document), but is not supported by Internet Explorer versions before IE8.

msdn

the document this page or frame contains
This property is new in Windows Internet Explorer 8

So to get the innerHTML of the body element you could use

iframe.contentDocument.getElementsByTagName("body")[0]

or

iframe.contentDocument.body

in todays browsers.