<circle
v-for="(circle, index) in circles"
:key="index"
cx="0"
cy="0"
:r="radius"
:style="`fill: ${circle.color}`"
>
<animateMotion
begin="0;start.click"
dur="4s"
repeatCount="1"
fill="freeze"
keyTimes="0;1"
:keyPoints="`0;${circle.keyPoint}`"
>
<mpath xlink:href="#name-path-middle" />
</animateMotion>
</circle>
上面的 svg 代码中,其中 keyPoints 用来控制圆点在路径上的位置。但是发现 keyPoints 是存在兼容性问题的,如果遇到不支持的浏览器,那么就需要回退到不使用动画的效果。其中 animateMotion 元素对应 SVGAnimateMotionElement 的接口,但是不管支不支持,SVGAnimateMotionElement.keyPoints 都是 undefined。遇到这种情况,应该如何比较好的检测浏览器是否支持 keyPoints 属性。
可以到这个网站上去查 https://caniuse.com