我今天遇到了一个问题,我创建的图表在通过getPointAtLength
创建时无法在Firefox中运行。这是一个显示问题的小提琴:
注意javascript顶部的注释。
SVG路径的相关部分是:
C189.5,423.237,266.965,390.696,266.965,390.696
这在Chrome和IE浏览器中完美运行,但Firefox会直接跳过曲线并关闭路径。
然而,曲线的微小变化足以解决问题:
C189.5,423.236,266.965,390.696,266.965,390.696 ^
为什么将该值改为千分之一会产生漂亮的曲线和破碎的SVG之间的差异?
编辑:该坐标不是唯一可以更改为“修复”问题的坐标,因此Firefox似乎无法很好地处理高精度曲线值。
答案 0 :(得分:0)
在某些情况下,Firefox无法计算曲线的长度(例如delta = 0/0)。因此,该路径部分的结果是NaN / 0 / undefined,因此不会添加到总长度,并且getPointAtLength的域更小。