2014-02-12 26 views
0

有沒有什麼辦法可以解釋two.js中帶有object標籤的外部svg文件? 我想通過以下方式聯繫,但..如何解釋two.js中的extrenal 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中作爲Inline SVG。

在此先感謝。

回答

2

可能是因爲您需要在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); 
}; 
+1

非常感謝Nathan!它完美的工作! – leccmo