IE9 svg onload обращается к родителю / сверху - PullRequest
3 голосов
/ 17 августа 2011

в IE9, когда SVG внедрен с использованием тегов (объекта), любой ECMAScript, встроенный в SVG, не может получить доступ к родительскому / верхнему HTML-документу. это работает для любого другого браузера, хотя. разрабатывая с использованием только Linux, я никогда не осознавал этого до сегодняшнего дня. проблема в том, что все наши SVG содержат метод onload, чтобы сообщить родительскому HTML-документу, что SVG DOM готов. к сожалению, нет другого способа определить, готов ли SVG DOM, кроме опроса, который я считаю крайне неэлегантным. так ... есть какой-нибудь известный способ для этого? то есть доступ к родительскому документу HTML из SVG в IE9? или любой другой метод кросс-браузер / кросс-платформенный, чтобы определить, полностью ли загружен SVG, который не включает опросы и тайм-ауты, а обратные вызовы? я бы предпочел не использовать для этого полноценный фреймворк, такой как плагин jQuery SVG.

1 Ответ

2 голосов
/ 18 августа 2011

ки. после бессонной ночи я наконец понял это. без каких-либо инструкций IE9, кажется, отображает страницы в режиме Quirks когда в режиме Quirks SVG явно помещаются в «песочницу», и любой ECMAScript внутри SVG не может получить доступ к родительскому документу.

всякий раз, когда IE9 вынужден фактически отображать страницу, используя стандарты IE9, все работает как шарм.

использовать

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

для включения стандартного режима IE9

...