2013-09-23 61 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安頓下來。一個不完美的,瘋狂的黑客,但它似乎有幫助。