这是一个类似的问题,但我想知道如何在未嵌入SVG的JavaScript函数但从外部文件导入时访问它们:
Call svg javascript function inside html javascript function
所以,我会尝试让我的问题清楚,希望不要太复杂。
我有main.html和main.js。
我也有一些SVG.svg导入了一些具有函数foo()的SVG.js。
main.html将someSVG.svg作为对象元素导入。
如何从main.js调用foo()?
答案 0 :(得分:2)
如果您使用<object>
标记嵌入SVG,则可以使用
var inner = document.querySelector('object').contentWindow
就像外部窗口的窗口对象一样,它提供了在普通窗口中可以找到的所有全局变量,例如脚本定义的inner.foo()
或inner.document
。
注意:Safari支持版本10中的HTMLObjectElement.contentDocument,但不支持.documentWindow。