cannot copy nodes from iframe to parent document.




18 years ago
17 years ago


(Reporter: Zoltani Hawryluk, Assigned: jst)


Windows 98

Firefox Tracking Flags

(Not tracked)





18 years ago
This code worked for M14 but not M15. I think it's a bug with this particular 
build, and hopefully it's my perception of the DOM Level 1 that just happened 
to work in M14.

I have written a function called "replace_html()" that takes one parameter, 
which is an HTML string. The purpose of this function is to replace the contents 
of the <div id="obj1"> container to that HTML string, kind of how the IE4 DOM's 
innerHTML function does, and how the NS4's layer.obj1.document.write did in 
NS4's DOM. It does this by writing the HTML into the iframe called "test" and 
pruning the body's subtree of that iframe (which has a <div id="obj1">) and 
appending it to the end of the main document.

This works in M14.  In M15, it works the first time you use the function, but 
fails to work the second time (and every time after).

Try the URL using M14 and you'll see 
it work as intended.  Note:  When I refer to M14 and M15, I am referring to the 
Windows 98 version.

Comment 1

18 years ago
One thing I forgot to mention the first time ... if you go to the URL Provided,
this can be illustated as follows: click
on one of the two links at the top of the page: you will see that the red box on
the screen changes content (this is div id="obj1").  Click on the other link.  
In  M14, it will change again.  In M15, it will just disappear.

Comment 2

18 years ago
For the record, this is not supposed to work, the DOM spec says if a node is
inserted into another node, the DOM implementation should throw the
WRONG_DOCUMENT_ERR exception if the inserted node comes from another document
than the node it's being inserted into. Don't assume this will work, I was under
the impression that this would still work in mozilla but the constraints might
very well be tightened WRT moving nodes from one document to another in mozilla.

DOM Level 2 defines an importNode method in the document interface and that
should be used when moving nodes from one document to another and that method
should be used in a case like this, unfortunately it's not implemented in
mozilla yet.

In other words, this should probably be fixed since there's no way around this

Comment 3

18 years ago
BTW, mozilla does have .innerHTML now and it works just like the IE version.

Comment 4

18 years ago
... but you need to grab a nightly build to use that, it's not in M15.


18 years ago
QA Contact: gerardok → ckritzer

Comment 5

18 years ago
Looks like this works now, marking WORKSFORME
Last Resolved: 18 years ago
Resolution: --- → WORKSFORME

Comment 6

18 years ago
Mass update of qa contact
QA Contact: ckritzer → janc

Comment 7

18 years ago
Works for me:
Platform: PC
OS: Windows 98
Mozilla Build: 2000101214 M18 Trunk Build

Marking as Verified.
You need to log in before you can comment on or make changes to this bug.