这是我在网上找的代码
IHTMLDocument2* pHTMLDoc = (IHTMLDocument2*)this->m_ctrlWeb.GetDocument();
if ( pHTMLDoc != NULL )
{
IHTMLWindow2* pHTMLWnd;
pHTMLDoc->get_parentWindow( &pHTMLWnd );
VARIANT ret;
ret.vt = VT_EMPTY;
if ( pHTMLWnd != NULL )
{
pHTMLWnd->execScript(L"getXY('202270');", L"Javascript", &ret);
}
} 运行后js函数getXY感觉没被执行,请各位给看看问题出在何处,不胜感激!
IHTMLDocument2* pHTMLDoc = (IHTMLDocument2*)this->m_ctrlWeb.GetDocument();
if ( pHTMLDoc != NULL )
{
IHTMLWindow2* pHTMLWnd;
pHTMLDoc->get_parentWindow( &pHTMLWnd );
VARIANT ret;
ret.vt = VT_EMPTY;
if ( pHTMLWnd != NULL )
{
pHTMLWnd->execScript(L"getXY('202270');", L"Javascript", &ret);
}
} 运行后js函数getXY感觉没被执行,请各位给看看问题出在何处,不胜感激!
L"getXY('202270');"
带个分号干啥?
用IOleCommandtarget把脚本错误抓下来看看
IOleCommandtarget抓了没,啥东东?
http://hi.baidu.com/qualylee/blog/item/ac1372cf2180d639f8dc611d.html
http://www.vckbase.com/article/atl/013820610.htmhttp://203.208.39.132/search?q=cache:huNRbpGR0v0J:hi.baidu.com/qualylee/blog/item/ac1372cf2180d639f8dc611d.html+IOleCommandtarget+exec+script&cd=1&hl=zh-CN&ct=clnk&gl=cn&st_usg=ALhdy2_QXtKwaC3x-HEwtyAErT6Lwgw3eAhttp://203.208.39.132/search?q=cache:NRBu0CEJrBsJ:www.windows-tech.info/2/a36c61e81784fc83.php+IOleCommandtarget+execscript&cd=7&hl=zh-CN&ct=clnk&gl=cn&st_usg=ALhdy29v__dnENks54Nkp6yqpxu_e22-YQ
前一段也在做这方面的 。最好是在页面加载完之后触发OnDocumentComplete事件时调用以下代码。。
CString str="showinfo()";
if(pDocument!=NULL)
{IHTMLWindow2 *pHTMLWnd; pDocument->get_parentWindow(&pHTMLWnd);
if( pHTMLWnd != NULL )
{
CComBSTR cmd((str));
CComBSTR bstrlan = SysAllocString(L"javascript");
VARIANT varRet;
pHTMLWnd->execScript(cmd, bstrlan, &varRet); }
不行就试pHTMLWnd->execScript(CComBSTR("getXY(\"202270\")"), CComBSTR("JScript"), &ret);
用这个:1.得到IHTMLDoument对象
获取Script接口.
2.向Script接口查询需要执行的函数名的 id
3.Script通过执行Invoke, 来调用函数.
DocumentComplete 表示整个Document加载完毕,包括子框架,图片等.NavigateComplete 应该仅表示HTML文本传输完毕,不包括子框架啊,图片.