Add nodes to DocumentFragments before attaching
Paul O’Shannessy committed
Mar 11, 2016 at 10:22 UTC
1f2d9b208d72b0461e2550c664c26728331d028e
1 file changed
+10
-2
src/renderers/dom/client/utils/DOMLazyTree.js
+10
-2
@@ -53,8 +53,16 @@ function insertTreeChildren(tree) {
53
54
var insertTreeBefore = createMicrosoftUnsafeLocalFunction(
55
function(parentNode, tree, referenceNode) {
56
- parentNode.insertBefore(tree.node, referenceNode);
57
- insertTreeChildren(tree);
56
+ // Document Fragments in IE11, Edge (and possibly others) won't update
57
+ // correctly if they are already inserted. So we have to break out of our
58
+ // lazy approach and append children to the fragment before inserting it.
59
+ if (tree.node.nodeType === 11) {
60
+ insertTreeChildren(tree);
61
+ parentNode.insertBefore(tree.node, referenceNode);
62
+ } else {
63
+ parentNode.insertBefore(tree.node, referenceNode);
64
+ insertTreeChildren(tree);
65
+ }
66
}
67
);
68