gpt4 book ai didi

javascript - 错误 : NS_ERROR_FAILURE in firefox while use getBBox()

转载 作者:行者123 更新时间:2023-11-29 16:05:10 25 4
gpt4 key购买 nike

我想使用方法 getBBox() 获取在 SVG 中创建的元素的宽度和高度

这里我提供了我的代码,它在 chrome 而不是 firefox 中给出了结果

请帮我解决一下..

try {
console.log(document.getElementById("rect1").getBBox());
console.log(document.getElementById("rect2").getBBox());
} catch (e) {
console.log(e);
}
svg {
border: 1px dashed blue;
}

#rect2 {
display: none;
}
<svg width="300" height="200" style="border:1px dashed blue">
<rect id="rect1" width="50" height="50" fill="steelblue"></rect>
<rect id="rect2" width="50" height="50" fill="blue" x="100"></rect>
</svg>

最佳答案

这是因为使用 display: none 不会渲染 SVG。在调用 getBBox() 之前,您应该在 CSS 中使用 visibility: hidden 或检查 JS 中的 rect 样式。

console.log(document.getElementById("rect1").getBBox());
console.log(document.getElementById("rect2").getBBox());
svg {
border: 1px dashed blue;
}

#rect2 {
visibility: hidden;
}
<svg width="300" height="200" style="border:1px dashed blue">
<rect id="rect1" width="50" height="50" fill="steelblue"></rect>
<rect id="rect2" width="50" height="50" fill="blue" x="100"></rect>
</svg>

关于javascript - 错误 : NS_ERROR_FAILURE in firefox while use getBBox(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45184101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com