询问者
webBrowser控件阻止弹出新窗口使用NewWindow事件e.Cancel=true;还是没有用,为什么?

问题
全部回复
-
private void webBrowser1_NewWindow(object sender, CancelEventArgs e) { webBrowser1.Navigate(webBrowser1.StatusText); e.Cancel = true; }
加个 webBrowser1.Navigate(webBrowser1.StatusText); 看看是否OK!
以上說明若有錯誤請指教,謝謝。
亂馬客blog: http://www.dotblogs.com.tw/rainmaker/ -
private void webBrowser1_NewWindow(object sender, CancelEventArgs e) { webBrowser1.Navigate(webBrowser1.StatusText); e.Cancel = true; }
加个 webBrowser1.Navigate(webBrowser1.StatusText); 看看是否OK!
-
Hi,
Please try this,
private bool disableNewWin = false; private void webBrowser1_NewWindow(object sender, CancelEventArgs e) { e.Cancel = true; disableNewWin = true; } private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { e.Cancel = disableNewWin; disableNewWin = false; }
以上說明若有錯誤請指教,謝謝。
亂馬客blog: http://www.dotblogs.com.tw/rainmaker/ -
Hi,
Please try this,
private bool disableNewWin = false; private void webBrowser1_NewWindow(object sender, CancelEventArgs e) { e.Cancel = true; disableNewWin = true; } private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { e.Cancel = disableNewWin; disableNewWin = false; }
-
您好,
我使用VS2012, webBrowser1预设url使用http://www.cncrk.com/downinfo/29270.html,
已不会再调用IE弹出广告。
其他Div的广告是会显示在webBrowser中!
以上說明若有錯誤請指教,謝謝。
亂馬客blog: http://www.dotblogs.com.tw/rainmaker/ -
您好,
请问您有在 webBrowser1_Navigating 事件中在Cancel一次吗?
也要在webBrowser1_Navigating去挡哦!
private void button2_Click(object sender, EventArgs e) { extendedWebBrowser1.ScriptErrorsSuppressed = true; extendedWebBrowser1.NewWindow += new CancelEventHandler(extendedWebBrowser1_NewWindow); extendedWebBrowser1.Navigating += new WebBrowserNavigatingEventHandler(extendedWebBrowser1_Navigating); extendedWebBrowser1.Navigate("http://www.cncrk.com/downinfo/29270.html"); } private bool disableNewWin = false; void extendedWebBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { e.Cancel = disableNewWin; disableNewWin = false; } void extendedWebBrowser1_NewWindow(object sender, CancelEventArgs e) { e.Cancel = true; disableNewWin = true; }
就是这样的呀,可是还是不行,仍然弹出广告,NewWindow2和NewWindow3事件都不行……
-
您好,
今天再试了一下,e.Cancel=true;居然无效了!
有找到「Multi Tab WebBrowser」,您可以试看看哦!
它是把新开的视窗新增一个TAB去放,所以您可以在axWebBrowser1_NavigateComplete2 Method中的最后,将新增出来的视窗给移掉,如下,
private void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e) { HE_WebBrowserTag _HE_WebBrowserTag = (HE_WebBrowserTag)_ActiveWebBrowser.Tag; if (_HE_WebBrowserTag._TabIndex != tabControl1.SelectedIndex) {return;} Cursor.Current = Cursors.Default; tlbStop.Enabled = false; tlbHome.Enabled = true; tlbSearch.Enabled = true; tlbRefresh.Enabled = true; tlbFind.Enabled = true; progressBar1.Value = 0; statusBar1.Text = ""; if (tabControl1.TabPages.Count > 0) { for (int i = tabControl1.TabPages.Count - 1; i > 0;i-- ) { tabControl1.TabPages.RemoveAt(i); } } }
希望对您有帮助,谢谢!以上說明若有錯誤請指教,謝謝。
亂馬客blog: http://www.dotblogs.com.tw/rainmaker/ -
您好,
您好,那个Multi Tab WebBrowser找不到。另外这样做会影响程序界面,好象不太好。一些正常的页面e.Cancel=true;是可以阻止的,但为什么这种广告却不受e.Cancel的限制呢?
今天再试了一下,e.Cancel=true;居然无效了!
有找到「Multi Tab WebBrowser」,您可以试看看哦!
它是把新开的视窗新增一个TAB去放,所以您可以在axWebBrowser1_NavigateComplete2 Method中的最后,将新增出来的视窗给移掉,如下,
private void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e) { HE_WebBrowserTag _HE_WebBrowserTag = (HE_WebBrowserTag)_ActiveWebBrowser.Tag; if (_HE_WebBrowserTag._TabIndex != tabControl1.SelectedIndex) {return;} Cursor.Current = Cursors.Default; tlbStop.Enabled = false; tlbHome.Enabled = true; tlbSearch.Enabled = true; tlbRefresh.Enabled = true; tlbFind.Enabled = true; progressBar1.Value = 0; statusBar1.Text = ""; if (tabControl1.TabPages.Count > 0) { for (int i = tabControl1.TabPages.Count - 1; i > 0;i-- ) { tabControl1.TabPages.RemoveAt(i); } } }
希望对您有帮助,谢谢!