次の方法で共有


方法 : マネージ HTML DOM (Document Object Model) にアクセスする

更新 : 2007 年 11 月

マネージ HTML DOM (Document Object Model) には、次の 2 種類のアプリケーションからアクセスできます。

  • マネージ WebBrowser コントロールをホストする Windows フォーム アプリケーション (.exe)。この 2 つのテクノロジは相互に補完します。つまり、WebBrowser コントロールはユーザーに対してページを表示し、HTML DOM はドキュメントの論理構造体を表します。

  • Internet Explorer 内でホストされた Windows フォーム UserControlUserControl をホストするページを表す HTML DOM にアクセスして、ドキュメントの構造体を変更したり、モーダル ダイアログ ボックスを開いたりするなど、さまざまな操作を行うことができます。

Windows フォーム アプリケーションから DOM にアクセスするには

  1. Windows フォーム アプリケーション内で WebBrowser コントロールをホストし、DocumentCompleted イベントを監視します。コントロールのホストとイベントの監視の詳細については、「イベントの利用」を参照してください。

  2. WebBrowser コントロールの Document プロパティにアクセスして、現在のページの HtmlDocument を取得します。

Internet Explorer でホストされた UserControl から DOM にアクセスするには

  1. UserControl クラスのカスタム派生クラスを作成します。詳細については、「方法 : 複合コントロールを作成する」を参照してください。

  2. UserControl の Load イベント ハンドラ内に次のコードを配置します。

Private Sub UserControl1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If (Me.Site IsNot Nothing) Then
        Dim Doc As HtmlDocument = CType(Me.Site.GetService(Type.GetType("System.Windows.Forms.HtmlDocument")), HtmlDocument)
    End If
End Sub
     HtmlDocument doc = null;

        private void UserControl1_Load(object sender, EventArgs e)
        {
            if (this.Site != null)
            {
                doc = (HtmlDocument)this.Site.GetService(typeof(HtmlDocument));
            }
        }

堅牢性の高いプログラム

  1. WebBrowser コントロールを通じて DOM を使用するときは、必ず DocumentCompleted イベントが発生するまで待機してから WebBrowser コントロールの Document プロパティにアクセスするようにします。DocumentCompleted イベントは、ドキュメント全体が読み込まれた後で発生します。それ以前に DOM を使用すると、アプリケーション内でランタイム例外が発生する恐れがあります。

セキュリティ

  1. アプリケーションまたは UserControl がマネージ HTML DOM にアクセスするには、完全信頼が必要です。ClickOnce を使用して Windows フォーム アプリケーションを配置するときは、"アクセス許可の昇格" または "信頼されたアプリケーションの配置" を使用して完全信頼を要求できます。詳細については、「ClickOnce の配置の概要」および「ClickOnce の配置とセキュリティ」を参照してください。

参照

その他の技術情報

マネージ HTML DOM (Document Object Model) の使用