掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WebBrowserでURLが完全に表示されるまでに待つには? (ID:79646)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> WebBrowserでURLが完全に表示されるまで待ちたいのですが、可能ですか? HTMLページに対して、DHTMLオブジェクト モデルを通じてコンテンツにアクセスする場合、 WebBrowser/InternetExplorerの『完了系イベント』を利用するのが一般的です。 完了系イベントには、以下のような物があります。 NavigateComplete2 windowオブジェクトやframesetエレメントからの、リンクナビゲーション(移動)が 完了した時に発生します。なお、Navigate2メソッドの呼び出しでも発生します。 DownloadComplete ドキュメントが完全にダウンロードされると発生します。 ナビゲーションが失敗した場合にも、このイベントが呼び出されます。 DocumentComplete イベント HTMLドキュメントが解析され、それをDHTMLオブジェクトモデルを 通じてコンテンツにアクセスできるようになった時に発生します。 基本的には、DocumentCompleteイベントを使えば良いでしょう。 このイベントが発生するまで、ドキュメントの完全な読み込みは保証されません。 ドキュメントに対するすべてのシンクは、これ以後に行う必要があります。 http://msdn.microsoft.com/workshop/browser/webbrowser/reference/events/documentcomplete.asp ドキュメントが完全にダウンロードされると、DownloadCompleteイベントが発生しますが、 この場合でも、そのオブジェクト モデルを通じてドキュメントの内容を管理することは 必ずしも安全ではありません。代わりに、DocumentCompleteイベントを使うようにします。 (DocumentCompleteは、すべてが完了し、ドキュメントの準備が整ったことを示します) # なお、MicrosoftのDino Esposito氏の記事(1999年1月当時) # [Browser Helper Objects: The Browser the Way You Want It] # によると、DocumentCompleteは、対象URLに初めてアクセスしたときにだけ届き、 # F5キーや[最新の情報に更新]をクリックした2回目以降は、DownloadComplete # イベントだけが発生する……という記述があります。この点は注意が必要です。 なお上記とは別に、IE3当時の DownloadComplete FrameNavigateComplete NavigateComplete などのイベントも利用可能です。が、これらは現在では ほとんど利用されていませんので、あえて使う必要は無いでしょう。 > Do While Webアクセス.Busy Busyプロパティは、ナビゲーション/ダウンロード操作の状態を示していますので、 このプロパティだけを頼りにするのは危険です。 (HTML文書を解析するのはWebBrowser自身ではなく、MSHTMLです)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.