Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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
Javascript svgjs-加载外部svg文件_Javascript_Svg - Fatal编程技术网

Javascript svgjs-加载外部svg文件

Javascript svgjs-加载外部svg文件,javascript,svg,Javascript,Svg,我想加载一个外部SVG文件,并尝试了SVG.import.js插件的演示 但无法加载此文件: 我需要像这样加载文件,我不能修改它们 这里有什么问题 Magnussvg.import.js插件在svg.js v2及以上版本中已过时,如下所述: 这是内置的draw.svg()方法。以下是文档中的一个示例: 但是,您需要加载SVG数据,而不是url。但是,您可以使用ajax加载外部文件,并将文件内容传递给SVG.js实例。比如: var ajax = new XMLHttpRequest() aj

我想加载一个外部SVG文件,并尝试了SVG.import.js插件的演示

但无法加载此文件:

我需要像这样加载文件,我不能修改它们

这里有什么问题


Magnus

svg.import.js插件在svg.js v2及以上版本中已过时,如下所述:

这是内置的
draw.svg()
方法。以下是文档中的一个示例:

但是,您需要加载SVG数据,而不是url。但是,您可以使用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加载文件,使用纯SVG格式更安全。

我认为它不喜欢Inkscape默认设置的额外Inkscape位。如果您不能修改文件,那么您将被卡住,因为它们需要由inkscape保存为原始SVG。我已经测试过将其保存为普通SVG,但仍然不起作用。此外,inkscape svg版本中只有几个以“inkscape:”开头的附加标记。这似乎是svg.import.js的一个弱点。Snap.svg可以毫无问题地加载原始文件。