我正在尝试使用方法.getTotalLength()来获取svg圆的总长度。

    const circle = document.querySelector('.circle');

    const totalLength = circle.getTotalLength();


在Edge中,我得到了错误:

ReferenceError: 'getTotalLength' is not defined

为了进一步了解,该元素是svg <circle>而不是路径。

我如何在js中检测Edge / Internet Explorer是否支持和/或为其提供polyfill?

最佳答案

尽管您可能不使用getTotalLength方法,但是由于您拥有的是一个圆,因此您可以对圆的周长2 * Math.PI * r使用公式,其中r是圆的半径。差异很小,但我认为这并不重要。



console.log("getTotalLength",theCircle.getTotalLength());
let r = Number(theCircle.getAttribute("r")); //circle's radius
console.log("2*Math.PI*r",2*Math.PI*r)

svg{border:1px solid}

<svg>
  <circle id="theCircle" cx="150" cy="75" r="70" />
</svg>

关于javascript - circle.getTotalLength()Internet Explorer错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58014901/

10-13 09:38