Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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 getBBox()在文本元素上缺少值_Javascript_Node.js_Svg_Raphael_Jsdom - Fatal编程技术网

Javascript getBBox()在文本元素上缺少值

Javascript getBBox()在文本元素上缺少值,javascript,node.js,svg,raphael,jsdom,Javascript,Node.js,Svg,Raphael,Jsdom,我有一个Node.js项目,它使用jsdom和Raphael js在我的服务器上生成SVG标记,一切都很顺利,直到我在Raphael文本元素上调用getBBox()时开始得到缺少的值 var paper = window.Raphael(10, 50, 320, 200); var txt = paper.text(10, 10, 'hello world!'); console.log( txt.getBBox().toString() ); // Returns: NaN Na

我有一个Node.js项目,它使用jsdom和Raphael js在我的服务器上生成SVG标记,一切都很顺利,直到我在Raphael文本元素上调用getBBox()时开始得到缺少的值

var paper = window.Raphael(10, 50, 320, 200);
var txt = paper.text(10, 10, 'hello world!');       
console.log( txt.getBBox().toString() ); // Returns: NaN NaN NaN × NaN
鉴于

var rect = paper.rect(10, 10, 10, 10);
console.log( rect.getBBox().toString() ); // Returns: 10 10 10 × 10

造成这种情况的原因是什么?更重要的是有修复方法吗?

您应该使用RaphaelJs的
print()
方法,该方法生成一个路径数组。您可以在数组上使用
getBBox()
来获取边界框。

TextElement.getBBox()仅在浏览器中工作,不应在服务器端使用

你能试一下你的代码吗?我试了一下,效果如预期: