duilib WebBrowser控件执行javascript(js)

版权声明:本文为博主原创文章,转载请注明原帖地址。 https://blog.csdn.net/sunflover454/article/details/60570940

执行js务必在网页加载完成时执行,示例代码片段如下:

void CMyWebBrowserEvenrHandler::NavigateComplete2(CWebBrowserUI* pWeb, IDispatch* pDisp, VARIANT*& url)
{
	// 页面加载完毕才能执行js
	// execute js start 
	IDispatch *pHtmlDocDisp = pWeb->GetHtmlWindow();
	IHTMLDocument2 *pHtmlDoc2 = NULL;
	HRESULT hr = pHtmlDocDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pHtmlDoc2);
	pHtmlDocDisp->Release();
	if (SUCCEEDED(hr) && pHtmlDoc2 != NULL)
	{
		CComQIPtr<IHTMLWindow2> pHTMLWnd;
		pHtmlDoc2->get_parentWindow(&pHTMLWnd);
		if (SUCCEEDED(hr) && pHTMLWnd != NULL)
		{
			//CComBSTR bstrjs = SysAllocString(_T("document.documentElement.style.overflow = 'hidden'"));//去除水平方向滚动条  
			CComBSTR bstrjs = SysAllocString(_T("document.documentElement.style.overflowY = 'hidden'"));//去除竖直方向滚动条  
			CComBSTR bstrlan = SysAllocString(_T("javascript"));
			VARIANT varRet;
			pHTMLWnd->execScript(bstrjs, bstrlan, &varRet);
		}
	}
	// execute js end
}


猜你喜欢

转载自blog.csdn.net/sunflover454/article/details/60570940
今日推荐