getSVGDocument и contentDocument возвращают ноль в Chrome - PullRequest
0 голосов
/ 08 октября 2018

У меня есть две разные 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

Объект выглядит точно так же, поэтому я действительно не знаю, что еще мне следует проверить, чтобы понять, почему он работает на одной странице, а не на другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...