开发工具VS2008 CComPtr<IDispatch> pDocDisp;
CComQIPtr<IHTMLDocument2> pHtmlDoc2; pDocDisp->QueryInterface(IID_IHTMLDocument2,(void**)&pHtmlDoc2);
IHTMLWindow2* pWindow; HRESULT hr = pHtmlDoc2->get_parentWindow(&pWindow); LPOLESTR bstrMember = L"ashow";
DISPID dispid ; HRESULT hrr = pWindow->GetIDsOfNames(IID_NULL,&bstrMember,1,LOCALE_SYSTEM_DEFAULT, &dispid);
页面js函数<script type="text/javascript">
function ashow()
{
alert('312331');
}
</script>
dispid返回的结果是-1,表示没有找到js中的这个函数
望大侠们看下这个是什么问题。为什么找不到这个js函数
CComQIPtr<IHTMLDocument2> pHtmlDoc2; pDocDisp->QueryInterface(IID_IHTMLDocument2,(void**)&pHtmlDoc2);
IHTMLWindow2* pWindow; HRESULT hr = pHtmlDoc2->get_parentWindow(&pWindow); LPOLESTR bstrMember = L"ashow";
DISPID dispid ; HRESULT hrr = pWindow->GetIDsOfNames(IID_NULL,&bstrMember,1,LOCALE_SYSTEM_DEFAULT, &dispid);
页面js函数<script type="text/javascript">
function ashow()
{
alert('312331');
}
</script>
dispid返回的结果是-1,表示没有找到js中的这个函数
望大侠们看下这个是什么问题。为什么找不到这个js函数
LRESULT XXX::CallJavaScript( LPCWSTR lpJavaScriptCode )
{
if (!m_pDoc)
return E_FAIL;
CComPtr<IHTMLWindow2> pWindow;
if (FAILED(m_pDoc->get_parentWindow(&pWindow)))
{
return E_FAIL;
} CComVariant bvResult;
static CComBSTR javascript = L"javascript"; CString strSafeJsCode;
strSafeJsCode.Format(L"try{ %s } catch(e){ }", lpJavaScriptCode);
CComBSTR bstrSaveJsCode(strSafeJsCode);
HRESULT hr = pWindow->execScript(bstrSaveJsCode, javascript, &bvResult);
return hr;
}