2013-09-23 37 views
3

我有一个IE浏览器帮助对象(BHO)(用C++编写),它在接收文档完成通知时记录iFrame和主页面的高度和宽度(OnDocumentComplete )。此代码至今运行良好(所有较旧的Windows和IE版本),但在Windows 8.1 for iFrames的IE11(桌面)上停止工作。获取主页面的宽度和高度仍然有效。在OnDocumentComplete中获取iFrame宽度和高度出错

我使用IWebBrowser2接口中的get_Height和get_Width函数。对这些函数的调用现在返回错误0x80004005(未指定的错误),并且返回的高度和宽度为0.

有没有人遇到此问题?这听起来像这可能是IE11中的一个错误。任何帮助将不胜感激。

谢谢!

+0

[C#Web浏览器可点击并突出显示Frame/iFrame元素](http://stackoverflow.com/questions/11650895/c-sharp-web-browser-with-click-and-highlight-of -frame-iframe的元素) –

回答

0

我注意到IE9 +(包括IE11)似乎在加载整个DOM之前触发onload =类型的DOM事件“提前”。特别是在我的浏览器DOM加载SVG文档的情况下。其中有<object>标签的网页可能是另一个有风险的领域。我的工作是捕捉onload =事件,然后等待0.75秒让DOM安顿下来。一个不完美的,疯狂的黑客,但它似乎有帮助。