這幾在做一個瀏覽器的自動化下載的工具,發現自己做的demo和做的項目代碼運行不一致,代碼就那么幾行,拷貝過去為什么有些行為就不一樣呢?經過分析發現原來有.net4.0和.net2.0中的webbrowser控件存在這樣的差異:
webBrowser1.ScriptErrorsSuppressed = true; webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(WebBrowser_Navigating); var axWB = webBrowser1.ActiveXInstance as SHDocVw.WebBrowser; axWB.RegisterAsBrowser = true; axWB.NewWindow2 += new DWebBrowserEvents2_NewWindow2EventHandler(axWB_NewWindow2); axWB.NewWindow3 += new DWebBrowserEvents2_NewWindow3EventHandler(axWB_NewWindow3);
在.net4.0下只可以觸發NewWindow2,而在.net2.0中會先后觸發NewWindow3和NewWindow2,而且如果要取消新窗口,只有在NewWindow3中處理有效。