2

Web ブラウザ コントロールを使用して、キャッシュされた Web ページを「オフライン」で表示しています。私が直面している問題は、ページをロードするときに、明らかにインターネットからデータを取得しようとしているリンクがあることです。

ページが GET リクエストを実行できるようにすることで「空白を埋める」ことには興味がありません。欠けている部分をダウンロードせずに、「現状のまま」Web ページを表示することに単純に興味があります。

Web ブラウザー コントロールの既存のイベントは、これらの要求をブロックする簡単な方法を提供しません。ただし、ダウンロードされるバイト数の引数を持つ「ProgressChanged」イベントを使用してみました (例: e.CurrentProgress、e.MaximumProgess)。そこに「myBrowser.Stop()」ステートメントを配置すると、これはある程度機能しますが、決して 100% ではありません。

発信 GET リクエストを完全にブロックできるようにするイベント ハンドラーまたは API を探しています。または、少なくとも、ダウンロードされたものが元の HTML ドキュメントに影響を与えないようにします。

ActiveDocument = true かどうかをテストするために使用できる SHDocVw の FileDownload イベント ハンドラーを使用するという 1 つの提案を見つけました。false の場合、イベントをキャンセルできます。私はこの行に沿って何かを実装することにかなり近づきましたが、イベント ハンドラーを記述することになると、ハンドラーに関連する FileDownloadEventArgs を見つけることができませんでした。

これについて誰かの助けをいただければ幸いです。

4

1 に答える 1

1

静的コンテンツを解析し、すべてのスクリプト、スタイル、およびリンク要素を削除します。srcまたはhrefを持つ要素は、これらの属性を null に設定する必要があります。これにより、コンテンツが取得されなくなります。

于 2013-05-21T16:28:56.780 に答える