- 締切済み
[C#]webbrowserのstop()について
C#のwebbrowserのstopはどういったことをしてくれるんでしょうか? ググると、一番わかりやすいのが 『保留中のナビゲーションをキャンセルし、バックグラウンド サウンドやアニメーションなどの動的なページ要素をすべて停止します。』 ウェブページをwebbrowserで読み込むと、いらないページ(広告ページなど)を読み込むので、 指定のページが読み込み終わったら、もう他のは読み込まないとしたいのですが、うまくいきません。 webbrowser1.Navigated("http://www.yahoo.co.jp") でアクセスして、 webBrowser1_DocumentCompleted のイベントの中に、 if (e.Url == "http://www.yahoo.co.jp"){ webbrowser1.stop();} と書いたのですが、それ以降も読み込んでいます。。。 ただ、これを書いたほうが確かにいつもより読み込みページ数が少なくなるような気がします。 調査の仕方としては、 webBrowser1_DocumentCompleted が発生した時のe.Urlと時間(DateTime.Now)を調査して、 http://www.yahoo.co.jpを読み込んだあとに、まだ続いて広告などを読み込んでしまいます。 textBox1.Text += e.Url.ToString() + "[" + DateTime.Now + "]\r\n"; というふうに書いて見ています。 狙いとしては、http://www.yahoo.co.jpが読み込み終わったら、webbrowserの残されている読み込みページを読まずに、終了して欲しいのです。 文書がわかりにくくて済みません。 ヒントでもいいので教えていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8757/19871)
stop()は「読み込みの中断」はしません。 ページ内で「読み込め」と指示のあった物は、すべて読み込みます。 すべて読み込んだ上で、BGMやアニメを停止するだけです。 >狙いとしては、http://www.yahoo.co.jpが読み込み終わったら、webbrowserの残されている読み込みページを読まずに、終了して欲しいのです。 そういう関数は無いんじゃないかな。残念ながら。
お礼
返事ありがとうございます。 stop以前に命令があったものは全て読み込むのですね。 それでは、stop以降に読み込もうと待機していたものは読み込まなくなるのですか?