CHtmlView獲取Document的方法有如下2種:
1、通過CHtmlView::GetHtmlDocument()成員函數獲取。這個方法在通常情況下是可以正常獲取到頁面的Document,不會有問題,但是在一些特殊場景下,獲取的Document不是當前的,而是上一次頁面的Document。
如圖:
打開時是下面的圖,可以正常獲取到Document的所以內容。
當我們點擊”101服-200服”後,再去獲取Document,這個Document就不是我們需要的Document了,而是前面的Document。
所以這個CHtmlView::GetHtmlDocument()獲取Document存在這樣的問題,那麼我們就要換一種方法獲取了。這就是我介紹的第二種方法。
2、通過CHtmlView的m_pBrowserApp成員變量獲取。實現代碼如下:
IDispatch* pDIs = NULL;
m_pBrowserApp->get_Document(&pDIs);
IHTMLDocument2* pDocument = (IHTMLDocument2*)pDIs;
這樣就可以時刻獲取正確的Document內容了。 如果有問題的不懂的,留言說明。