我在html对象标签中嵌入了svg。我遇到的情况是我需要检查对象元素中的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无法解决问题。在事件监听器实际注册之前可能已经加载了图像
答案 0 :(得分:0)
尝试使用window.load()
方法等待DOM
,并加载所有HTML content
(所有图像,CSS等),然后执行,如下所示:< / p>
window.addEventListener('load', function()
{
document.getElementById('object_id').contentDocument.getElementsByTagName('svg')[0]
});