1

私はここに来たばかりで、本当にあなたの助けが必要です。Webブラウザのキャッシュを無効にしようとしましたが、変換を縮小しないとアクセスできない「ナビゲート」がないため、オーバーロードの解決に失敗しました。私は立ち往生していて、もう何をすべきかわかりません。考えられるすべての解決策を検索しましたが、答えが見つかりませんでした。これが私のコードです:

Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Const navNoReadFromCache As Long = 4
        Const navNoHistory As Long = 2
        Const navNoWriteToCache As Long = 8
        Dim navflags As Long
        navflags = navNoHistory + navNoWriteToCache
        WebBrowser1.Navigate("url", 4)
    End Sub
End Class

元のエラー メッセージは次のとおりです。

エラー 2 オーバーロードの解決に失敗しました。アクセス可能な 'Navigate' を縮小変換なしで呼び出すことができないためです:

'Public Sub Navigate(urlString As String, newWindow As Boolean)': Argument matching parameter 'newWindow' narrows from 'Integer' to 'Boolean'.

'Public Sub Navigate(urlString As String, targetFrameName As String)': Argument matching parameter 'targetFrameName' narrows from 'Integer' to 'String'.
4

2 に答える 2

1

.NET WebBrowserControl には、int または long 引数を受け入れるオーバーロードがありません。そのため、BrowserNavConstants (.NET WebBrowserControl ではなく IWebBrowser2 の場合) の値を .NET WebBrowserControlに設定することはできません。


次のページを見つけました。

http://msdn.microsoft.com/en-us/library/40x214wa%28v=vs.110%29.aspx

WebBrowser コントロールは、最近アクセスしたサイトの Web ページをローカル ハード ディスクのキャッシュに格納します。各ページには、キャッシュに保持される期間を示す有効期限を指定できます。コントロールがページに移動するとき、ページを再度ダウンロードするのではなく、キャッシュされたバージョンがあればそれを表示することで時間を節約します。

Refresh メソッドを使用して、WebBrowser コントロールが現在のページをダウンロードして強制的に再読み込みし、コントロールに最新バージョンが表示されるようにします。


更新しました。次のコードを試してみると、うまくいくようです:

    private void button1_Click(object sender, EventArgs e) {
        webBrowser1.Navigate("http://www.google.co.jp");
    }

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
        webBrowser1.Refresh(WebBrowserRefreshOption.Completely);
    }

これにより、ページが 2 回読み込まれます。

于 2014-06-22T00:58:41.670 に答える
0

そのため、さまざまな方法を検索してテストした後、良い結果が得られました。

Shell("RunDll32.exe InetCpl.cpl, ClearMyTracksByProcess 8", vbHide)

これは、Web ブラウザをブラックスクリーンに保持していたキャッシュを削除するために使用したコードです。Internet Explorer の一時ファイルを検索して削除します。動作させるには、vbHide をカンマの横に保持する必要があります。一時ファイルを削除すると表示されるウィンドウを非表示にします。

于 2014-06-22T10:27:21.970 に答える