Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE11中SVG元素的InnerSVG为空_Svg_Internet Explorer 11 - Fatal编程技术网

IE11中SVG元素的InnerSVG为空

IE11中SVG元素的InnerSVG为空,svg,internet-explorer-11,Svg,Internet Explorer 11,我尝试获取属性innerssvg值并捕获未定义的值。 请不要查看控制台内容,我使用了jQuery('main#u svg')[0]。innerSVG任何标准中都没有innerSVG属性。根据Element.innerHTML也适用于SVG或其他XML内容 2009年,出版了一本图书馆 在所有SVGElements上提供innerHTML属性 显然,在那个时候,并不是所有的浏览器都能使用。它包含自己的XML序列化程序实现。源代码中大量的TODO注释似乎表明它是一个相当不完整的代码 自从Inter

我尝试获取属性
innerssvg
值并捕获
未定义的值。


请不要查看控制台内容,我使用了
jQuery('main#u svg')[0]。innerSVG

任何标准中都没有innerSVG属性。根据
Element.innerHTML
也适用于SVG或其他XML内容

2009年,出版了一本图书馆

在所有SVGElements上提供innerHTML属性

显然,在那个时候,并不是所有的浏览器都能使用。它包含自己的XML序列化程序实现。源代码中大量的
TODO
注释似乎表明它是一个相当不完整的代码

自从InternetExplorer9之后,就不再需要它了,因为它支持
XMLSerializer
。虽然IE 11似乎有一个bug,并且没有返回
innerHTML
的内容,但这将起作用:

function getInnerHTML (el) {
   if (el.innerHTML === undefined) {
       var XMLS = new XMLSerializer();
       var nodes = [];
       for (var i = 0; i < el.childNodes.length; i++) {
         nodes.push(XMLS.serializeToString(el.childNodes[i]));
       }
       return nodes.join('');
   } else {
       return el.innerHTML;
   }
}
函数getInnerHTML(el){ if(el.innerHTML==未定义){ var XMLS=新的XMLSerializer(); var节点=[]; 对于(变量i=0;i
您是否已加载?为什么我需要该库?任何标准中都没有innerSVG属性。将innerHTML移植到SVG内容是该库的一项发明。所以,要么使用这个库,要么使用带有innerssvg()函数的库,要么根本不使用它。你错了,innerHTML也
未定义
我没说
innerHTML
可以工作。事实上,编写该库是因为它在旧浏览器中不起作用。相对年轻,似乎不是针对IE11i实现的。我需要替换ie中的内部svg结构,我应该怎么做?在其他浏览器中,我使用
svg.innerHTML=someXML我还没有测试它,但它应该可以工作。