Javascript 动态加载SVG赢得';不允许访问其DOM
下面我做了一个例子,里面有几个Javascript 动态加载SVG赢得';不允许访问其DOM,javascript,ajax,svg,Javascript,Ajax,Svg,下面我做了一个例子,里面有几个symbol元素和animate元素,这些元素在beginElement()函数运行时可以触发动画 当我在HTML中插入svg时,这很有效,但我想把这个svg隐藏起来。我已经遵循了,我正在以友好的方式加载这个SVG,但是在加载之后,我无法访问SVG的DOM来运行beginElement()函数 问题在于加载的SVG中的contentDocument属性为空。我发现DOM中有一个ownerDocument属性,但它看起来是只读的。当我尝试运行beginElement(
symbol
元素和animate
元素,这些元素在beginElement()
函数运行时可以触发动画
当我在HTML中插入svg时,这很有效,但我想把这个svg隐藏起来。我已经遵循了,我正在以友好的方式加载这个SVG,但是在加载之后,我无法访问SVG的DOM来运行beginElement()
函数
问题在于加载的SVG中的contentDocument
属性为空。我发现DOM中有一个ownerDocument
属性,但它看起来是只读的。当我尝试运行beginElement()
时,什么都没有发生
你可以从这把小提琴中看出问题所在:
我在其他SO线程()中发现了此问题,但它们归结为两个主要问题:
协议,但我正在服务器上运行此程序文件://
- 外部域文件,但我正在从同一个域加载SVG
- SVG未加载,但我在下载SVG后运行代码
至少,Firefox似乎将
实现为一个影子DOM容器。也许有一些有用的东西。它只是用来访问东西的文档。至少,Firefox似乎实现了作为影子DOM容器的
。也许有一些有用的东西。它只是用来访问东西的文档