
Untitled
By: a guest on
Jun 16th, 2012 | syntax:
None | size: 1.16 KB | hits: 22 | expires: Never
Import SVG node into another document in IE9
var xhr = new XMLHttpRequest;
xhr.open('get','stirling4.svg',true);
xhr.onreadystatechange = function(){
if (xhr.readyState != 4) return;
var g = xhr.responseXML.getElementsByTagName('g')[2];
var p = document.getElementsByTagName('path')[0];
p.parentNode.insertBefore(document.importNode(g,true),p);
};
xhr.send();
var xhr = new XMLHttpRequest;
xhr.open('get','stirling4.svg',true);
xhr.onreadystatechange = function(){
if (xhr.readyState != 4) return;
var g = xhr.responseXML.getElementsByTagName('g')[2];
var p = document.getElementsByTagName('path')[0];
p.parentNode.insertBefore(cloneToDoc(g),p);
};
xhr.send();
function cloneToDoc(node,doc){
if (!doc) doc=document;
var clone = doc.createElementNS(node.namespaceURI,node.nodeName);
for (var i=0,len=node.attributes.length;i<len;++i){
var a = node.attributes[i];
clone.setAttributeNS(a.namespaceURI,a.nodeName,a.nodeValue);
}
for (var i=0,len=node.childNodes.length;i<len;++i){
var c = node.childNodes[i];
clone.insertBefore(
c.nodeType==1 ? cloneToDoc(c,doc) : doc.createTextNode(c.nodeValue),
null
);
}
return clone;
}