javascript - IE9 是否按文档顺序加载 SVG dom?

标签 javascript html dom internet-explorer-9 metatag

在 Firefox 中,当服务器向浏览器发出一个纯 SVG 文档,并且在附加了 onload= 事件的 SVG 元素之前发出一个 Javascript 脚本元素时,可以确保已经加载了一个更早的 SVG 元素在下一个之前。因此,脚本可以假定它存在于 DOM 中,并且当脚本尝试访问它时可以访问它。

但是,在 IE9 中,DOM 元素的加载方式似乎没有保证或顺序。

有没有办法强制纯 SVG 文档(没有 DOCTYPE html5 或 meta xua 标签)在 IE9 中按文档顺序加载?

否则,您在 Javascript 中会有大量的猴子业务来简单地确保元素已加载到 DOM 中。

最佳答案

我在 SVG 或 DOM 规范中找不到任何要求元素按文档顺序加载的内容(只是它们是按该顺序绘制的)。如果这不是必需的,那么您将永远无法保证您期望的行为。我认为您毕竟需要依赖那个“猴子生意”。

一种可能性是在调用元素中添加一个子元素,该子元素是指向目标元素中后代的链接。这可能会延迟源元素上的加载事件,直到加载链接为止。

另一个是,如果容器包含引用外部资源的元素,则在容器元素上设置 externalResourcesRequired="true" 将具有禁用该容器内容的渐进显示的效果。换句话说,通过链接到另一个文档并设置该属性,您可以禁用 SVG 的流式处理行为,这可能会在加载事件触发时强制执行完整的 DOM。

关于javascript - IE9 是否按文档顺序加载 SVG dom?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10678948/

相关文章:

html - 对于大量文件,一种将每个 DOM 节点的计算样式记录到文件的优雅方法?

javascript - 我可以使用 insertAdjacentHTML 插入 DOM 元素吗

javascript - Metro Live Tile Like Twitter Feed with MetroJS

javascript - 想知道为什么我的 onlclick() 立即运行

javascript - 如何动态更新每行 JQuery 模态中的文本

javascript - AngularJS:单击隐藏事件表并显示新表?

html - 仅在 IOS 上的按钮错误

javascript - 获取使用 chrome 扩展创建的弹出窗口的 DOM 访问权限

javascript - 谷歌地图上的明确指示

javascript - Vue 使变量在所有组件中可用