带有.html扩展名的内联SVG正确显示,但扩展名不是.svg

时间:2013-04-04 01:07:45

标签: svg d3.js

我有一个由d3生成的饼图SVG。如果 我将内容保存在扩展名为.svg的文件中 没有一个浏览器能够显示它。

如果我将相同的内容保存在文件中 扩展名.html,显示正常。

为什么?

SVG内容在http://pastebin.com/9QPKT5ju

要添加更多详细信息,不涉及Web服务器, 只需将内容保存在扩展名为.html的文件中 &安培;在浏览器中加载文件使其正确显示, 同时将扩展名更改为.svg&重装它 浏览器让它消失。

我这样做的原因是我正在生成 svg在服务器端使用Node.js&想要嵌入 在html页面中生成了svg&一个PDF文件。对于上述 实验我只是想看看生成的svg是否显示 正确地在浏览器中,因为它将动态加载 一个固定的HTML模板。

1 个答案:

答案 0 :(得分:0)

您需要将以下内容添加到基本svg元素:

xmlns="http://www.w3.org/2000/svg" 
xmlns:xlink="http://www.w3.org/1999/xlink"

您的颜色定义也必须如下:

<radialGradient id="grad-0" cx="0" cy="0" r="190"><stop offset="0" stop-color="#ace98c"></stop><stop offset="0.3" stop-color="#ace98c"></stop><stop offset="1" stop-color="#70c046"></stop></radialGradient>

而不是radialgradient(即骆驼外壳is important。)