У меня есть две разные HTML-страницы, использующие один и тот же SVG-файл, который я вставляю с тегом.
Проблема в том, что я могу получить contentDocument в одной из них, но не в другой.Я открыл инспекцию на обеих страницах, и объекты выглядят одинаково.
Это тот, который не работает:
> document.getElementById("agvObj")
<object type="image/svg+xml" data="agv/agv.svg" class="agvObj" id="agvObj" height="100" width="100" style="visibility:hidden;">
#document
xml-stylesheet
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100" id="agvSVG">…</svg>
</object>
> document.getElementById("agvObj").getSVGDocument()
null
> document.getElementById("agvObj").contentDocument
null
Это тот, который работает:
> document.getElementById("agvObj")
<object type="image/svg+xml" data="agv/agv.svg" class="agvObj" id="agvObj" height="100" width="100" style="visibility:hidden;">
#document
xml-stylesheet
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100" id="agvSVG">…</svg>
</object>
> document.getElementById("agvObj").getSVGDocument()
#document
> document.getElementById("agvObj").contentDocument
#document
Объект выглядит точно так же, поэтому я действительно не знаю, что еще мне следует проверить, чтобы понять, почему он работает на одной странице, а не на другой.