【发布时间】:2017-08-15 14:11:22
【问题描述】:
您可以使用 document.getElementById("mysvg").pauseAnimations() 暂停 SVG。然而,这似乎只适用于内联 SVG。
有没有办法暂停使用<img src="my.svg"/> 包含的 SVG 动画?
【问题讨论】:
-
没有。没有。
-
当 SVG 用于图像上下文时,您无法与之交互。
您可以使用 document.getElementById("mysvg").pauseAnimations() 暂停 SVG。然而,这似乎只适用于内联 SVG。
有没有办法暂停使用<img src="my.svg"/> 包含的 SVG 动画?
【问题讨论】:
所以正如 Paul LeBeau 所说,你不能用图像来做到这一点。你可以做到 - 显然 - 使用 <object>,像这样:
<object id="mysvg" type="image/svg+xml" data="myfile.svg"/>
然后通过以下方式访问:
mysvg.contentDocument
这受到 CORS 政策的限制,不幸的是,这意味着它在通过file:// 协议访问文件时不起作用。在我的情况下(Doxygen),我需要它,所以我放弃了使用 Doxygen 本身包含的 SVG 内联,如下所示:
\htmlinclude "myfile.svg"
【讨论】: