在 https://developer.mozilla.org/en-US/docs/Web/API/SVGGeometryElement 中,注释是这样说的:
注意: 在 SVG 2 中,getPathSegAtLength(( 和 createSVGPathSeg* 方法被删除,pathLength 属性和 getTotalLength(( 和 getPointAtLength(( 方法被移动到 SVGGeometryElement。
这有什么实际意义?到目前为止,我正在做,例如:
document.getElementById("myPath"( --> myPath.isPointInStroke((
并且工作正常。
路径、矩形、圆形、椭圆、多边形、折线和线元素都源自 SVG 2 中的 SVGGraphicsElement。将方法从 SVGPathElement 移动到 SVGGraphicsElement 使它们可用于所有子类。
所以在 SVG 2 中,你可以在一个圆圈上调用 getTotalLength((,这将导致浏览器返回 2πr,而在 SVG 1.1 中,你只能得到路径元素的总长度。