Ошибка получения ширины и высоты iFrame в OnDocumentComplete

У меня есть IE Browser Helper Object (BHO) (написанный на C ++), который записывает высоту и ширину iFrame (s) и главной страницы, когда он получает уведомление о завершении документа (OnDocumentComplete). Этот код до сих пор работал нормально (все более старые версии Windows и IE), но перестал работать в IE11 (рабочий стол) в Windows 8.1 для iFrames. Получение ширины и высоты для главной страницы все еще работает.

Я использую функции get_Height и get_Width из интерфейса IWebBrowser2. Вызов этих функций теперь возвращает ошибку 0x80004005 (неопределенная ошибка), а возвращаемая высота и ширина равны 0.

Кто-нибудь сталкивался с этой проблемой? Похоже, это может быть ошибкой в ​​IE11. Любая помощь будет оценена.

Спасибо!

3

Решение

Я заметил, что IE9 + (включая IE11), похоже, запускает события DOM onload = type «рано», до того, как загружается весь DOM. В частности, в моем случае, когда у меня есть браузер DOM, загружающий документ SVG. Веб-страницы, имеющие <object> теги в них могут быть еще одной опасной областью. Моя работа заключалась в том, чтобы перехватить событие onload =, затем подождать еще 0,75 секунды, пока DOM не установится. Несовершенный, сумасшедший взлом, но это, похоже, помогло.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector