无法呈现在Safari SVG图像(Not able to render SVG image in

2019-06-27 03:58发布

正如标题状态,我有一个SVG图像,但我无法使其在Safari和Opera。 但它在Firefox中完美的罚款。 我发现这个职位

文档类型问题与Safari浏览器显示SVG

其中提到改变内容为XHTML。 所以,我说这对我的html页面的顶部,

<meta http-equiv="Content-Type" content="application/xhtml+xml">

但它仍然无法正常工作。

我在这样我的JS文件中嵌入SVG图像

this.my_object.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image xlink:href="img/gauge.png" width="122" height="127"/><g id="needle" transform="rotate(0,62,62)"><circle cx="62" cy="62" r="4" style="fill: #c00; stroke: none"/><rect transform="rotate(-130,62,62)" name="arrow"  x="58" y="38" width="8" height="24" style="fill: #c00; stroke: none"/><polygon transform="rotate(-130,62,62)" points="58,39,66,39,62,30,58,39" style="fill: #c00; stroke: none"/></g><text id="value" x="35" y="103" focusable="false" editable="no" style="stroke:none; fill:#fff; font-family: monospace; font-size: 12px"></text></svg>';

可这是什么原因? 我不是用传统机制调用它。

我也在这里粘贴SVG代码,

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <g name="gauge" width="122px" height="127px">
        <image xlink:href="gauging.png" width="122" height="127"/>
    <circle id="led" cx="39" cy="76" r="5" style="fill: #999; stroke: none">
        <animateColor id="ledAnimation" attributeName="fill" attributeType="css" begin="0s" dur="1s"
        values="none;#f88;#f00;#f88;none;" repeatCount="0"/>
    </circle>
        <g id="needle" transform="rotate(0,62,62)">
            <circle cx="62" cy="62" r="4" style="fill: #c00; stroke: none"/>
            <rect transform="rotate(-130,62,62)" name="arrow"  x="58" y="38" width="8" height="24" style="fill: #c00; stroke: none"/>
            <polygon transform="rotate(-130,62,62)" points="58,39,66,39,62,30,58,39" style="fill: #c00; stroke: none"/>
        </g>
        <text id="value" x="51" y="98" focusable="false" editable="no" style="stroke:none; fill:#fff; font-family: monospace; font-size: 12px"></text>
    </g>
</svg>

任何人都可以提出这个问题?

Answer 1:

对于未来的用户:找到原因的问题。 这篇文章的接受的答案Safari浏览器内嵌SVG文档类型说明问题。

解决问题的方法:

除了上面,我配置我的web.config文件中添加

<staticContent><mimeMap fileExtension=".svg" mimeType="image/svg+xml" /></staticContent>

服务器应该发送正确的Content-Type头。

问题解决了! :)



Answer 2:

我最近就遇到了这个问题,并发现了,因为我的多边形是自终止时,Safari 6.0.2不会使他们。 例如:

不工作:

<polygon points='-3.172,-1.758 -6.208,-4.793 -8,-3 -8,-8 -3,-8 -4.792,-6.207 -1.757,-3.173'>

作品:

<polygon points='-3.172,-1.758 -6.208,-4.793 -8,-3 -8,-8 -3,-8 -4.792,-6.207 -1.757,-3.173'/>


文章来源: Not able to render SVG image in Safari