Closed knownasilya closed 10 years ago
Good catch. mbostock/d3@b641eb58b387a1e9804ba6ff35ae70ab494c2b09 from 5 months ago fixed mbostock/d3#1533, but introduced the issue for aight. Our shim should add createElementNS
to the prototype, not to the document
instance.
Also, could you check if the current createElementNS
is reached when aight.js
is executed.. Either I'm doing something wrong, or there is an issue somewhere.
Could this be a fix:
if (!('createElementNS' in HTMLDocument.prototype)) {
HTMLDocument.prototype.createElementNS = function(ns, name) {
if (ns) throw "sorry, this browser does not support namespaces";
return HTMLDocument.prototype.createElement.call(this, name);
};
}
? Let me know, and I'll put it in a pull request.
Yep, that should do it.
See this line of code in D3, the part that breaks IE8 is
this.ownerDocument.createElementNS
. We currently have a shim forcreateElementNS
fordocument
, but I suppose we need to put it on the underlying element..DispHTMLDocument
, according to IE8 :neckbeard: