IE9 svg onload访问父/顶

IE9 svg onload访问父/顶,svg,internet-explorer-9,parent,onload,Svg,Internet Explorer 9,Parent,Onload,在IE9中,当使用(对象)标记嵌入SVG时,嵌入在SVG中的任何ECMAScript都无法访问父/顶HTML文档。不过,这适用于任何其他浏览器。 直到今天,我才意识到这一点。问题是,我们所有的SVG都包含一个onload方法,用于向父HTML文档发出SVG DOM就绪的信号。不幸的是,没有其他方法来确定SVG的DOM是否准备好了,除了我认为高度不雅的轮询。 所以是否有任何已知的解决方法?也就是说,从IE9中的SVG中访问父HTML文档? 或者任何其他跨浏览器/跨平台方法来确定SVG是否已完全加载

在IE9中,当使用(对象)标记嵌入SVG时,嵌入在SVG中的任何ECMAScript都无法访问父/顶HTML文档。不过,这适用于任何其他浏览器。 直到今天,我才意识到这一点。问题是,我们所有的SVG都包含一个onload方法,用于向父HTML文档发出SVG DOM就绪的信号。不幸的是,没有其他方法来确定SVG的DOM是否准备好了,除了我认为高度不雅的轮询。 所以是否有任何已知的解决方法?也就是说,从IE9中的SVG中访问父HTML文档? 或者任何其他跨浏览器/跨平台方法来确定SVG是否已完全加载(不涉及轮询和超时,而是回调)?
我不希望像jQuerySVG插件那样使用成熟的框架。经过一个不眠之夜,我终于明白了。在没有任何说明的情况下,IE9似乎以怪癖模式呈现页面。在Quirks模式下,SVG显然是沙盒,SVG中的任何ECMAScript都无法访问父文档

每当IE9被迫使用IE9标准实际呈现页面时,一切都像一个符咒

使用


强制IE9标准模式

<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />