我怎么能解释一个two.js SVG extrenal文件(How can I interpret

2019-10-19 07:48发布

有没有什么办法可以解释在two.js对象标记外部SVG文件? 我想通过以下方式联系,但..

HTML

<object type="image/svg+xml" data="./svg/mydrawing.svg" id="mysvg"></object>

JS

var mySvg = document.getElementById("mysvg").contentDocument;
var shape = two.interpret(mySvg);
console.log(shape);

//in console:
Uncaught TypeError: Cannot call method 'toLowerCase' of undefined

这是好的,如果我的SVG文件过大的HTML作为内联SVG写我可以导入外部.svg文件。

提前致谢。

Answer 1:

这可能是因为您需要选择contentDocument中的SVG标记。 例如:

var svgObject = document.getElementsByTagName('object')[0];
svgObject.onload = function(){
      var mySvg = svgObject.contentDocument.getElementsByTagName('svg')[0];
      var two = new Two();
      var shape = two.interpret(mySvg);
      console.log(shape);
};


文章来源: How can I interpret an extrenal svg file in two.js