在Safari中,getSVGDocument()返回null

4

在尝试在Safari中调试网页时,我遇到了一些问题。在我的主页面中,我有一个iframe,每三秒重新加载一次以更新主页面上的标签。然而,在Safari中使用时,以下行为空。

parent.document.getElementById(tagId).getSVGDocument();

我使用这个方法来更新主页面上SVG对象的填充。在这行代码之后,页面似乎停止了javascript运行,因为它不会继续执行我在主页上的其他函数。

有没有人知道Safari中getSVGDocument()可能存在的问题?在IE中一切正常。

提前感谢!


进一步研究后发现,似乎只有IE能够找到svgDocument,我在Chrome和Firefox中遇到了同样的问题。 - Pannkakan
尝试通过以下方式为<object>添加eventListener:var loaded = parent.document.getElementById(tagId); loaded.addEventListener('load', function () { //code }但似乎只是跳过了监听器并继续执行下一部分。 - Pannkakan
2个回答

0

好的,我通过创建内联SVG来解决了这个问题。虽然无法使用标签解决,但这是一个快速的解决方法。


0

getSVGDocument 已经不再使用了,并且可能没有对最新版本的 SVG 的支持。

根据 MDN Web Docs

获取表示 SVG 文档的 Document 的最佳方式是查看HTMLIFrameElement.contentDocument(如果文档显示在 )或HTMLObjectElement.contentDocument(如果文档显示在元素中)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接