佚名通过本文主要向大家介绍了webbrowser脚本错误,c webbrowser脚本错误,caxwindow,脚本错误怎么解决,脚本错误等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: CAxWindow创建的webbrowser如何屏蔽脚本错误
描述:
解决方案1:
描述:
在网上查找后得知屏蔽脚本错误需要实现IOleCommandTarget接口。但例子大多是MFC的
我是用caxwindow来创建webbroser的,该在哪里,以及如何实现这个接口呢?
解决方案1:
m_pWebBrowser->put_Silent( VARIANT_TRUE );
解决方案2: 你可以让你的當前窗口类继承 IOleCommandTarget 接口 实现Exec接口
解决方案3:
STDMETHODIMP IAxHostUIHandlerImpl::Exec(
/* [unique][in] */ const GUID *pguidCmdGroup,
/* [in] */ DWORD nCmdID,
/* [in] */ DWORD nCmdexecopt,
/* [unique][in] */ VARIANT *pvaIn,
/* [unique][out][in] */ VARIANT *pvaOut)
{
HRESULT hr = pguidCmdGroup ? OLECMDERR_E_UNKNOWNGROUP : OLECMDERR_E_NOTSUPPORTED;
if ( pguidCmdGroup && IsEqualGUID(*pguidCmdGroup, CGID_DocHostCommandHandler))
{
// 屏蔽脚本错误提示
if ( nCmdID == OLECMDID_SHOWSCRIPTERROR)
{
// 这里只是简单屏蔽掉
// 如果要进一步处理, 参考:
// 《How to handle script errors as a WebBrowser control host》
// http://support.microsoft.com/default.aspx?scid=kb;en-us;261003
(*pvaOut).vt = VT_BOOL;
// Continue running scripts on the page.
(*pvaOut).boolVal = VARIANT_FALSE;
return S_OK;
}
return hr;
}
直接使用當前窗口類繼承 IOleCommandTarget 接口,調用SetDocUIHandler,貌似是這個名字吧我記不清了