Share via


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

マネージド HTML ドキュメント オブジェクト モデル (DOM) には、次の 2 種類のアプリケーションからアクセスできます。

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

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

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

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

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

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

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

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

HtmlDocument doc = null;

private void UserControl1_Load(object sender, EventArgs e)
{
    if (this.Site != null)
    {
        doc = (HtmlDocument)this.Site.GetService(typeof(HtmlDocument));
    }
}
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

信頼性の高いプログラミング

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

.NET Framework のセキュリティ

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

関連項目