Skizit
Skizit

Reputation: 44862

Chrome: Getting iFrame and inserting into body

I've got the following code which works fine in Firefox...

if (!iFrame) iFrame = outerDoc.getElementById('_dialog_iframe');
var iFrameDoc = iFrame.contentWindow.document; // get iframe doc

and the Chrome version...

if (!iFrame) iFrame = outerDoc.getElementById('_dialog_iframe');
var iFrameDoc = iFrame.document; // get iframe doc

I'm testing the code be getting iFrameDoc.body when I run the FireFox code in Firefox it works fine. However, the Chrome code returns undefined. Why? How do I fix this so that it'll work fine in Chrome?

Upvotes: 3

Views: 7602

Answers (1)

Tim Down
Tim Down

Reputation: 324677

If the iframe element has a document property in Chrome then I'm surprised, and it's non-standard and not supported in other browsers. The standards-based property is contentDocument, and to support other browsers you can use contentWindow.document. The following will work in all major browsers:

var iFrameDoc = iFrame.contentDocument || iFrame.contentWindow.document;

Upvotes: 11

Related Questions