我有两个使用相同的svg文件的HTML页面,该文件是通过标记插入的。
问题是我可以在其中一个中检索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
该对象看起来完全相同,所以我真的不知道该检查为什么它可以在一个页面而不在另一页面上工作。