CAxWindow创建的webbrowser如何屏蔽脚本错误 在网上查找后得知屏蔽脚本错误需要实现IOleCommandTarget接口。但例子大多是MFC的我是用caxwindow来创建webbroser的,该在哪里,以及如何实现这个接口呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IOleCommandTarget接口可以由webbrowser实例获取 我的意思是,我不知道该由哪个类来实现这个接口,以及如何将我实现的实例挂接给webbrowser,以便它可以调用我的实现. 直接使用當前窗口類繼承 IOleCommandTarget 接口,調用SetDocUIHandler,貌似是這個名字吧我記不清了 你可以让你的當前窗口类继承 IOleCommandTarget 接口 实现Exec接口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;} // Continue running scripts on the page.注释是错的 忘删掉了 m_pWebBrowser->put_Silent( VARIANT_TRUE ); put_silent可以屏蔽错误提示,但不能屏蔽脚本调试提示。当IE的禁止其它程序调试脚本选项disable时,走不到exec函数。所以重写似乎也没用。 VS2008生成的程序启动时在有些电脑上异常退出,安装said008后运行正常,请问怎么办? ::函数名 在:: 前面省略了类名,这种调用的函数是属于哪个类呀 Java调用C++问题!!~~~ 用ActiveX 播放Flash,如何判断播放成功 help!怎么把一个CStdioFile类型文件里面的内容清空? MFC程序加延迟 关于控件移动的问题 连接关系的保存问题!! 程序员如何才能拿高薪? wince mfc应用,UI操作界面切换时,影响socket通信速率 请教一个程序自动退出的问题 因太忙了 散分以示存在
/* [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;
}
当IE的禁止其它程序调试脚本选项disable时,走不到exec函数。所以重写似乎也没用。