屏蔽webBrowser打开网页的弹窗
<strong>1. 屏蔽打开网页时的"JS错误"弹窗</strong> 方法I: 将WebBrowser的"Silent"属性设置为"TRUE" 方法II: 代码实现 m_web.put_Silent(TRUE); //m_web为web控件变量 <strong>2. 屏蔽打开网页时的其他弹窗</strong> 方法I: 重载Web控件所在窗口的方法“OnAmbientProperty” 相关代码如下: //[说明]此函数为主窗口方法重载,可以屏蔽打开网页的所有脚本运行及弹窗,故要慎用. #include "mshtmdid.h" BOOL CansDlg::OnAmbientProperty(COleControlSite* pSite, DISPID dispid, VARIANT* pvar) { // TODO: 在此添加专用代码和/或调用基类 if (dispid == DISPID_AMBIENT_DLCONTROL) { pvar->vt = VT_I4; pvar->lVal = DLCTL_NO_RUNACTIVEXCTLS | DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA | DLCTL_NO_DLACTIVEXCTLS | DLCTL_NO_FRAMEDOWNLOAD | DLCTL_NO_BEHAVIORS | DLCTL_NO_FRAMEDOWNLOAD | DLCTL_SILENT; return TRUE; } return CDialogEx::OnAmbientProperty(pSite, dispid, pvar); } 方法II: 重载Web控件的“NewWindow3”事件 相关代码如下: //此方法通过禁止打开新窗口来屏蔽打开网页弹窗 void CansDlg::NewWindow3Explorer1(LPDISPATCH* ppDisp, BOOL* Cancel, unsigned long dwFlags, LPCTSTR bstrUrlContext, LPCTSTR bstrUrl) { // TODO: 在此处添加消息处理程序代码 //不打开新窗口 *Cancel = TRUE; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。