我即将将SVG导入到应用程序(javascript)中,实际上工作得很好,除非它们没有解析器(DOMParser)抛出的解析错误(如果形状是nestet)。例如这段代码:
<rect
style="fill:#393939;fill-opacity:1;stroke:none"
id="rect3066"
width="208.57143"
height="182.85715"
x="80"
y="77.14286"
transform="translate(0,452.36218) rotate( 10 ) scale( 2, 0.4 )">
<rect
style="fill:#393939;fill-opacity:1;stroke:none"
id="rect3066"
width="208.57143"
height="182.85715"
x="80"
y="77.14286"
transform="translate(0,452.36218) rotate( 10 ) scale( 20, 40 )">
</rect>
不会导致Firefox出错。 SVG - 形状元素here (the path-element for example)的规范并没有说它可以有任何形状或容器元素作为子元素。问题是,如果我尝试嵌套图形,应用程序正在崩溃,因此解析错误将使我免于此。
我正在使用firefox的DOMParser解析xml-string,如下所示:
try{
doc = parser.parseFromString( text,
"image/svg+xml" );
} catch( parseError ){
this.onDone.call( this, "parseError" );
}
如果有任何建议如何解决这个问题,我很乐意听到。
问候菲律宾