首页 > 解决方案 > 将属性和方法移至 Web API 中的其他接口有什么实际意义?

问题描述

https://developer.mozilla.org/en-US/docs/Web/API/SVGGeometryElement中,注释说:

注意:在 SVG 2 中,删除了 getPathSegAtLength() 和 createSVGPathSeg* 方法,并且将 pathLength 属性以及 getTotalLength() 和 getPointAtLength() 方法移到了 SVGGeometryElement。

这有什么实际意义?到目前为止,我正在做,例如:

document.getElementById("myPath") --> myPath.isPointInStroke()

并且工作正常。

标签: javascriptsvgwebapipathelement

解决方案


path、rect、circle、ellipse、polygon、polyline 和 line 元素都派生自SVG 2 中的SVGGraphicsElement。将方法从 SVGPathElement 移动到 SVGGraphicsElement 使它们可用于所有子类。

因此,在 SVG 2 中,您可以在一个圆上调用 getTotalLength(),这将导致浏览器返回 2πr,而在 SVG 1.1 中,您只能获取路径元素的总长度。


推荐阅读