C#での質問です。


axWebBrowser1.Navigateで指定したアドレスの内容を表示するようにしているのですが
あらかじめ取得しておいた内容を表示させることは可能でしょうか。

現在は
this.axWebBrowser1.Navigate(textBox1.Text);
このようにしています。
あらかじめ取得したデータ(仮に変数を「html_data」としその中には<html> ~ </html>)を表示させるには
どうしたらいいかアドバイスいただければと思います。

回答の条件
  • 1人2回まで
  • 登録:2007/11/11 22:16:24
  • 終了:2007/11/18 22:20:04

回答(2件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692007/11/11 23:02:34

ポイント35pt

this.axWebBrowser1.DocumentText = html_data;


でいいと思います。

http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.we...(VS.80).aspx

id:quocard

ありがとうございます。

リンク先を見てやっているのですが

AxSHDocVw.axWebBrowser に DocumentText の定義がありません

とエラーが出てしまいます。

事前に何か定義しないといけないような関数には見られないのですが

なかなかうまくいかないです。

2007/11/11 23:57:24
id:mj99 No.2

mj99回答回数138ベストアンサー獲得回数382007/11/13 12:36:34

ポイント35pt

こんな感じでしょうか。

参照設定に「Microsoft HTML Object Library」を追加してください。

----

先に、AxWebBrowser1.Navigateで空欄ページをロードします。

それによってdocumentオブジェクトにアクセスできるようになり、bodyを変更できます。

    Dim html_data As String
    html_data = "<title>テスト</title><h1>見出し1</h1><hr>"

    AxWebBrowser1.Navigate("about:blank")
    Do Until AxWebBrowser1.ReadyState = SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE
        'System.Threading.Thread.Sleep(1000)
        Application.DoEvents()
    Loop
    Dim doc As mshtml.HTMLDocument
    doc = DirectCast(AxWebBrowser1.Document, mshtml.HTMLDocument)
    doc.body.innerHTML = html_data
  • id:SALINGER
    失礼、AxWebBrowserクラスとWebBrowserクラスを混同してました。
  • id:mj99
    あ、ごめんなさい。VB.NETで書いてた。
    C#では以下のとおり。

    ----
    String html_data;
    html_data = "<title>テスト</title><h1>見出し1</h1><hr>";

    axWebBrowser1.Navigate("about:blank");
    while(axWebBrowser1.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE)
    {
    //System.Threading.Thread.Sleep(1000);
    Application.DoEvents();
    }
    mshtml.HTMLDocument doc;
    doc = (mshtml.HTMLDocument)axWebBrowser1.Document;
    doc.body.innerHTML = html_data;

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません