【解決方法】Google マップのロード中に VB.NET のウェブブラウザで問題が発生する


こんにちは!
全てにおいて良い日。

Visual Studio 2017 の VB.Net で WebBrowser コントロールを使用して Google マップを開こうとしています。

これが簡単なコードです。

Private Sub txtSearc_KeyDown(sender As Object, e As KeyEventArgs) Handles txtSearch.KeyDown
        If e.KeyCode = Keys.Enter Then
            Try
                Dim queryaddress As New System.Text.StringBuilder
                queryaddress.Append("https://www.google.com/maps?q=")
                If txtSearch.Text <> "" Then
                    queryaddress.Append(txtSearch.Text + "," & "+")
                End If

                browser_.ScriptErrorsSuppressed = True
                browser_.Navigate(queryaddress.ToString())

            Catch ex As Exception
                Exit Sub
            End Try
        End If
End Sub

しかし、場所を読み込むと、WebBrowser コントロールに数秒間ページが表示され、その後場所が消え、コントロールに「Google マップを使用するにはブラウザを更新してください」というエラーが表示されます。

もし誰かが私がここでやっていることの重大な間違いを助けてくれたら、感謝します。

ありがとうございます。それでは、お元気で:
ムハンマド・アシム・ムガール

私が試したこと:

Private Sub txtSearc_KeyDown(sender As Object, e As KeyEventArgs) Handles txtSearch.KeyDown
        If e.KeyCode = Keys.Enter Then
            Try
                Dim queryaddress As New System.Text.StringBuilder
                queryaddress.Append("https://www.google.com/maps?q=")
                If txtSearch.Text <> "" Then
                    queryaddress.Append(txtSearch.Text + "," & "+")
                End If

                browser_.ScriptErrorsSuppressed = True
                browser_.Navigate(queryaddress.ToString())

            Catch ex As Exception
                Exit Sub
            End Try
        End If
    End Sub

解決策 1

WebBrowser コントロールは、廃止されて久しい Internet Explorer のインスタンスをアプリケーションに埋め込みます。

さらに悪いことに、アプリケーションを実行するすべてのマシンのレジストリを変更しない限り、そのインスタンスは IE7 レンダリング モードのままになり、ほとんどすべての最新の Web サイトの読み込みに失敗します。

代わりに最新のブラウザ コントロールを使用するようにコードを更新する必要があります。たとえば、次のようになります。 WebView2[^] または セフシャープ[^]。

コメント

タイトルとURLをコピーしました