CHtmlView获取Document的方法有如下2种:

1、通过CHtmlView::GetHtmlDocument()成员函数获取。这个方法在通常情况下是可以正常获取到页面的Document,不会有问题,但是在一些特殊场景下,获取的Document不是当前的,而是上一次页面的Document。

如图:

打开时是下面的图,可以正常获取到Document的所以内容。

CHtmlView获取页面的Document注意事项_第1张图片

当我们点击”101服-200服”后,再去获取Document,这个Document就不是我们需要的Document了,而是前面的Document。

CHtmlView获取页面的Document注意事项_第2张图片

所以这个CHtmlView::GetHtmlDocument()获取Document存在这样的问题,那么我们就要换一种方法获取了。这就是我介绍的第二种方法。

2、通过CHtmlView的m_pBrowserApp成员变量获取。实现代码如下:

IDispatch* pDIs = NULL;

m_pBrowserApp->get_Document(&pDIs);

IHTMLDocument2* pDocument = (IHTMLDocument2*)pDIs; 

 

这样就可以时刻获取正确的Document内容了。 如果有问题的不懂的,留言说明。