svgjs - 加载外部svg文件

时间:2014-10-09 17:01:44

标签: javascript svg

我想加载一个外部SVG文件,我尝试了svg.import.js插件的演示:http://svgjs.com/import/

但无法加载此文件:http://upload.wikimedia.org/wikipedia/commons/5/57/Chess_Maurizio_Monge_Fantasy_wk.svg

我需要加载这样的文件,我无法修改它们。

这里有什么问题?

马格努斯

1 个答案:

答案 0 :(得分:5)

svg.import.js插件已于SVG.js v2及更高版本中淘汰,如下所述:

https://github.com/svgdotjs/svg.import.js#warning

现在使用draw.svg()方法内置。以下是文档中的示例:

https://svgdotjs.github.io/importing-exporting

但是,您需要加载SVG数据,而不是网址。但是,您可以使用ajax加载外部文件,并将文件的内容传递给SVG.js实例。类似的东西:

var ajax = new XMLHttpRequest()
ajax.open('GET', 'your/file.svg', true)
ajax.send()
ajax.onload = function(e) {
  draw.svg(ajax.responseText)
}

注意:如果从Inkscape加载文件,使用Plain SVG格式会更安全。