我已将 svg 嵌入到 html 对象标记中。我遇到了一种情况,我需要检查对象元素中的 svg 是否实际加载。
<object id="object_id" data='some_svg.svg'></object>
我尝试使用以下代码进行检查。
document.getElementById('object_id').contentDocument.getElementsByTagName('svg')[0]
在各种情况下:
情况1:
<object id="object_id" data="some_svg.svg">
#document
</object
情况2:
<object id="object_id" data="some_svg.svg">
#document
<svg>
// content of the svg path etc.
</svg>
</object
我如何确认嵌入的 svg 已正确加载。
注意:addEventListener 并不能解决问题。图像可能在事件监听器实际注册之前已加载
最佳答案
尝试使用window.load()
方法等待DOM
,以及所有HTML内容
加载(所有图像、CSS 等),然后执行,如下所示:
window.addEventListener('load', function()
{
document.getElementById('object_id').contentDocument.getElementsByTagName('svg')[0]
});
关于javascript - 嵌入的 svg 何时实际加载,我如何检查它是否加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48323027/