views:

302

answers:

1

Hi,

I need to inject in an iframe window a document object that I instanciated previously, and I cannot serialize it into a string or a remote url (those are solutions proposed on previous stackoverflow posts), because elements of this document objects are bound to other objects in my code.

How can I do it ?

thanks, b.

+1  A: 

Try using importNode:

/* Change these: */
var documentToCopy = document,
    iframeDocument = iframe.contentWindow.document;

/* Replace current document-element (<html>) with the new one: */
iframeDocument.replaceChild(
    iframeDocument.importNode(documentToCopy.documentElement, true),
    iframeDocument.documentElement
);

See https://developer.mozilla.org/en/DOM/document.importNode

J-P
this works well in safari 4, but not in FireFox. I must now admit that I inject svg and xml documents, not simply html ones. Any clues ? Thanks anyway.
Electrogramme