У меня есть IE Browser Helper Object (BHO) (написанный на C ++), который записывает высоту и ширину iFrame (s) и главной страницы, когда он получает уведомление о завершении документа (OnDocumentComplete). Этот код до сих пор работал нормально (все более старые версии Windows и IE), но перестал работать в IE11 (рабочий стол) в Windows 8.1 для iFrames. Получение ширины и высоты для главной страницы все еще работает.
Я использую функции get_Height и get_Width из интерфейса IWebBrowser2. Вызов этих функций теперь возвращает ошибку 0x80004005 (неопределенная ошибка), а возвращаемая высота и ширина равны 0.
Кто-нибудь сталкивался с этой проблемой? Похоже, это может быть ошибкой в IE11. Любая помощь будет оценена.
Спасибо!
Я заметил, что IE9 + (включая IE11), похоже, запускает события DOM onload = type «рано», до того, как загружается весь DOM. В частности, в моем случае, когда у меня есть браузер DOM, загружающий документ SVG. Веб-страницы, имеющие <object>
теги в них могут быть еще одной опасной областью. Моя работа заключалась в том, чтобы перехватить событие onload =, затем подождать еще 0,75 секунды, пока DOM не установится. Несовершенный, сумасшедший взлом, но это, похоже, помогло.
Других решений пока нет …