2012-06-29 48 views
0

我正在开发一个vb.net中的win32应用程序,需要使用“WebBrowser”控件从一些网站读取信息。关闭从vb.net弹出的脚本

问题在于,有时,随机地,某些弹出窗口在服务正在阅读网站时出现,我需要的只是关闭或“接受”此弹出窗口,以便服务可以继续他的工作。

希望任何人都可以帮助我,谢谢。

编辑:解决了,只是禁用了脚本错误:

WebBrowser1.ScriptErrorsSuppressed = True 

这只是不显示错误,但不解决这个问题,它仍在工作。

回答

2

我不认为使用webbrowser控件是这样做的最好方法。如果你正在阅读一个网页,那么你可以使用下面的代码读取HTML,然后自己分析它(这将避免任何弹出窗口)

Public Shared Function GetPageAsString(ByVal address As Uri) As String 
    Dim request As HttpWebRequest 
    Try 
     request = DirectCast(WebRequest.Create(address), HttpWebRequest) 
     Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse) 
      Using reader As StreamReader = New StreamReader(response.GetResponseStream()) 
       Return reader.ReadToEnd 
      End Using 
     End Using 
    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
     Return "" 
    End Try 
End Function 

用法:

Dim url as string = "http://www.bbc.co.uk" 
Dim webContent As String = GetPageAsString(New Uri(url)) 
+0

感谢马特,但程序是巨大的,它都是用webbrowser控件完成的,所以,除非它非常必要,否则我不会改变它。 我试过从WebBrowser控件的“NewWindow”事件,但它不会触发当弹出窗口出现时... 无论如何感谢:P – Castell