您的位置:首页 > Web前端 > HTML

判断多Frame网页是否真正加载完毕(CHtmlView) .

2012-02-23 14:20 190 查看
1. 手工重载添加两个虚拟函数:

virtual void DocumentComplete(LPDISPATCH pDisp, VARIANT* URL);

virtual void
NavigateComplete2(LPDISPATCH pDisp, VARIANT* URL);



注意:不是以下两个函数

virtual void OnDocumentComplete( VARIANT* URL);

virtual void OnNavigateComplete2( VARIANT* URL);



-------------------------------------------------------------------------

2. 声明一个成员变量,并在构造函数中进行初始化:

LPDISPATCH m_lpDisp;//用于判断网页加载是否真正完毕



m_lpDisp = NULL;//构造函数中初始化



-------------------------------------------------------------------------

3. 这两个函数的具体实现:(参照微软)

//配合NavigateComplete2,判断网页是否真正加载完毕,用于多Frame网页

void CXXXXView::DocumentComplete(LPDISPATCH pDisp,VARIANT* URL)

{

if(m_lpDisp &&(m_lpDisp == pDisp))//判断网页是否真正加载完毕,用于多Frame网页

{

//if the LPDISPATCH are same,that means it is the final DocumentComplete

TRACE("Document is done downloading");

AfxMessageBox("下载完毕");

m_lpDisp=NULL;//Reset glpDisp

}

}



//配合DocumentComplete,判断网页是否真正加载完毕,用于多Frame网页

void CXXXXView::NavigateComplete2(LPDISPATCH pDisp,VARIANT* URL)

{

//Check if glpDisp is NULL.If NULL,that means it is

//the top level NavigateComplete2. Save the LPDISPATCH

if(!m_lpDisp) m_lpDisp=pDisp;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: