webbrowser net navegador microsoft event documentcompleted control vb.net url search browser

vb.net - net - webbrowser events



Busque en la web desde la barra de direcciones (2)

Puedes intentar usar esta función ::

Private Function CheckURL(ByVal UrlText As String) Dim URL As New Uri(UrlText) Dim Req As System.Net.WebRequest Req = System.Net.WebRequest.Create(URL) Dim Resp As System.Net.WebResponse Try Resp = Req.GetResponse() Resp.Close() Req = Nothing Return True Catch ex As Exception Req = Nothing Return False End Try End Function

en mi WebBrowser tengo una barra de direcciones, por supuesto, pero solo puedo buscar URL en la barra de direcciones, como "facebook.com" y algo así. Quiero que mi campo de dirección pueda funcionar como un motor de búsqueda, así que cuando escribo como www.facebook.com voy a facebook.com y cuando busco como Facebook, sin www o .com o algo así, quiero mi barra de direcciones para redirigirme a https://www.google.se/?gws_rd=ssl#q=facebook si sabes a qué me refiero. ¡Gracias!


Tal vez esta no sea la mejor manera, pero funciona.

Lo único que debe hacer es agregar más elementos a las matrices para hacerlo más perfecto. "Porque hay más posibles finales e inicios de url en la web"
Dim CheckArrStart ()
Dim CheckArrEnd ()

Haría una función para verificar para verificar la URL ingresada en la barra de direcciones.
Función privada CheckWebPageLink (ByVal Link As String) As Boolean

En esta función usaría 2 para cada bucle para verificar el inicio al final de la url.
Si encuentro un comienzo, le doy +1 a mi ok, "Dim Ok como Integer = 0" y lo elimino de la cadena.
Luego vaya al siguiente para cada ciclo para encontrar un final de url.
Entonces, si a encuentra un final + 1 a mi ok dim y también quito el final de la cadena. Lo hago porque quiero verificar cuánto tiempo está la cuerda al final, porque debe haber algo entre www. y .com

Luego, al final de mi función, compruebo si mi valor de atenuación tiene un valor de 2 y el tiempo que dura el enlace sin el inicio y el final.
Si es verdadero, devuelvo un booleano verdadero y si es falso, devuelvo un booleano falso.

Luego, en mi botón de navegación hago una declaración final if si el booblean de mi función es verdadero o falso. "Si CheckWebPageLink (ToolStripTextBox1.Text.ToLower) = True Then"
Si es verdadero solo navegue a la url y si es falso:
WebBrowser1.Navigate (" https://www.google.com/?gws_rd=ssl#q= " y ToolStripTextBox1.Text)

Como ya dije las matrices que aún necesita corregir, acabo de agregar algunas para probar.

Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click If CheckWebPageLink(ToolStripTextBox1.Text.ToLower) = True Then WebBrowser1.Navigate(ToolStripTextBox1.Text) Else WebBrowser1.Navigate("https://www.google.com/?gws_rd=ssl#q=" & ToolStripTextBox1.Text) End If End Sub Private Function CheckWebPageLink(ByVal Link As String) As Boolean Dim CheckArrStart() As String = ({"http://www.", "https://www.", "www."}) Dim CheckArrEnd() As String = ({".se", ".nl", ".com", ".cu", ".tk"}) Dim Ok As Integer = 0 For Each LinkStart As String In CheckArrStart If Link.Contains(LinkStart) Then Link = Replace(Link, LinkStart, "") Ok = Ok + 1 For Each LinkEnd As String In CheckArrEnd If Link.Contains(LinkEnd) Then Link = Replace(Link, LinkEnd, "") Ok = Ok + 1 Exit For End If Next Exit For End If Next If Ok = 2 And Link.Count > 2 Then Return True Else Return False End If End Function