You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Elm uses invalid value in domNode.insertBefore #161
This Elm bug is seen when compiling (with --debug and Elm 0.19.1) the default counter-example of Ellie locally, and then running it with IE 10. IE 10 gives error "Invalid argument" at main.js, line 3710, character 5
The error happens on domNode.insertBefore line in following code:
case 7:
var data = patch.s;
var kids = data.e;
var i = data.v;
var theEnd = domNode.childNodes[i];
for (; i < kids.length; i++)
{
domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);
}
return domNode;
This confirms that Elm is using invalid value of theEnd, because only valid node or null is allowed there. So this is not a bug in IE 10, but a bug in Elm which is just seen in IE 10.
referenceNode is not an optional parameter -- you must explicitly pass a Node or null. Failing to provide it or passing invalid values may behave differently in different browser versions.
I'm also running into this issue where some implementations will prepend an element to the childNodes, or just throw an error, when given undefined as a value for the referenceNode.
Activity
malaire commentedon Nov 7, 2019
Exact files used (just new project with
elm initand direct copy from Ellie example). txt extension added as GitHub doesn't allow these otherwise.elm.json.txt
index.html.txt
Main.elm.txt
ps. I don't have access to IE 10 for long enough to create better minimal example.
malaire commentedon Nov 7, 2019
Testing with Firefox 68.2.0esr shows that just before the for-loop
theEndisundefined.(So invalid value of
theEndis not limited to IE 10, it just doesn't cause problems e.g. in Firefox).seanstrom commentedon Mar 17, 2021
I'm also running into this issue where some implementations will prepend an element to the
childNodes, or just throw an error, when givenundefinedas a value for thereferenceNode.