佚名通过本文主要向大家介绍了webbrowser怎么用,webbrowser,webbrowser控件,c#webbrowser,vb webbrowser控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: webbrowser 初用,请教一下!!
描述:
问题1:怎么样navigate到这个写在内存的页面?
问题2:用上面这个方法navigate这个页面怎么判断OnDocumentComplete()事件,主要是想让装载完页面后执行一个js;
问题3:我写了这些代码:
我目前装入html的方法是这样的:
问题4:有没有专门介绍webbrowser之类的控件编程的书?
等待高人帮助…………………………………………
描述:
最近使用webbrowser控件,有些问题不会解决。
因为历史残留原因,代码里面要用的html页面是些在内存里面的,(如果改代价将很大)大概这么定义:
TCHAR s_staticHTML[]={
_T("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">")
_T("<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"utf-8\">")
_T("<head>")
_T("</head>")
_T("<body>")
_T("这是一个测试页面")
_T("<script language=\"javascript\">alert(2);</javascript>")
_T("<div class=\"_s_\" id=\"tkcontent\" style=\"position:absolute; width:100%; height:100%; top:0; left:0; overflow:auto; z-index:2;\" >")
_T("</div>")
_T("</body>")
_T("</html>")
};
问题1:怎么样navigate到这个写在内存的页面?
问题2:用上面这个方法navigate这个页面怎么判断OnDocumentComplete()事件,主要是想让装载完页面后执行一个js;
问题3:我写了这些代码:
CComQIPtr<IHTMLDocument2> pDoc;
CComPtr<IDispatch> DispatchDocument;
m_pBrowserApp->get_Document(&DispatchDocument);//m_pBrowserApp 指向Webbrowser控件
if (!DispatchDocument)
return ;
pDoc = DispatchDocument;
CComPtr<IHTMLWindow2> pwnd;
pDoc->get_parentWindow(&pwnd);
if(pwnd)
{
CComBSTR bstrLang(_T("jscript"));
CComBSTR bstrCode = strScript;
// CComBSTR bstrCode2= (_T("document.write('success')"));//如果让执行的脚本是直接hardcode的,是可以执行的。
// CComBSTR bstrCode3 = (_T("test(3)"));//如果执行的脚本是页面里面的函数(test()是js脚本里面定义的函数),那么弹出脚本
//执行错误的对话框,提示对象未定义?不知道是不是装入内存HTML的时候,webbrowser没有装载完成就执行js所致?
VARIANT varRet;
pwnd->execScript(bstrCode,bstrLang,&varRet);
我目前装入html的方法是这样的:
CComQIPtr<IHTMLDocument2> pDoc;
CComPtr<IDispatch> DispatchDocument;
m_pBrowserApp->get_Document(&DispatchDocument);
if (!DispatchDocument)
return false;
pDoc = DispatchDocument;
if (pDoc)
{
CComPtr<IHTMLElement> body;
HRESULT hr = pDoc->get_body(&body);//直接把html放到了body里面 ,虽然也可以显示html页面内文字,但里面的js函数确似乎不能执行了。
if (body)
{
body->put_innerHTML(_bstr_t(m_strStaticHTML));
}
}
问题4:有没有专门介绍webbrowser之类的控件编程的书?
等待高人帮助…………………………………………