Closed GoogleCodeExporter closed 9 years ago
Yes, this is an unfortunate problem we know about. It is documented in the User
Manual under "Knowing When Your SVG Is Loaded":
If you dynamically create SVG root elements _after_ the page has already
finished loading, you must add an SVGLoad listener to the SVG root
element before you can add further children (note: this is a divergence from the
SVG 1.1 standard, and is needed due to the asynchronous Flash and
Microsoft Behavior magic going on under the covers to bootstrap different
parts of the library)
Here is how your example would need to change:
window.onload = function() {
root = document.createElementNS(svgns, 'svg');
root.setAttribute('id', 'svgRoot');
root.setAttribute('width', '100%');
root.setAttribute('height', '100%');
root.setAttribute('viewBox', '0 0 ' + width + ' ' + height);
function svgload() {
var root = document.getElementById('svgRoot');
var cir = new Circle(100, 100, 40, 'blue', 'red', '10', 0.4);
root.appendChild(cir);
}
root.addEventListener('SVGLoad', svgload);
svgweb.appendChild(root, document.body);
};
Marking as "won't fix" since this is a known problem we have no plans to deal
with
further.
Original comment by grick23@gmail.com
on 28 Mar 2010 at 7:40
Original issue reported on code.google.com by
Omar.Bel...@gmail.com
on 19 Feb 2010 at 8:58Attachments: