javascript - 如何在 two.js 中解释外部 svg 文件

标签 javascript svg two.js

在 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 文件就好了,因为我的 svg 文件太大而无法用 HTML 写成内联 SVG。

提前致谢。

最佳答案

您可能需要在 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);
};

关于javascript - 如何在 two.js 中解释外部 svg 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21720790/

相关文章:

javascript - 如何从 Firestore 检索第一个和最后一个集合

javascript - 如何在现有 svg 对象上创建 JQuery 包装器?

css - 如何使用:before with svg and left floating

performance - 性能不佳 - SVG 动画

Javascript:将字典添加到列表中

javascript - filereader 文件格式无法识别 json 和 geojson

css - 如何调整胜率?

two.js - 是否可以向一个方向扩展两个 .js 组

javascript - 如何使用 two.js 创建圆形热点?

javascript - 富文本编辑,防止嵌入javascript代码