Поделиться через


Практическое руководство. Доступ к управляемой объектной модели HTML-документов

Получить доступ к управляемой объектной модели HTML-документа (DOM) можно из двух типов приложений.

  • Приложение Windows Forms (.EXE), в котором размещен управляемый элемент управления WebBrowser. Эти две технологии дополняют друг друга: элемент управления WebBrowser отображает страницу пользователю, а HTML DOM представляет логическую структуру документа.

  • Windows Forms UserControl размещается в Internet Explorer. Вы можете открыть HTML DOM, который показывает страницу, где находится элемент управления UserControl, и изменить структуру документа, открыть модальные диалоговые окна и т. д.

Доступ к DOM из приложения Windows Forms

  1. Разместите элемент управления WebBrowser в приложении Windows Forms и наблюдайте за событием DocumentCompleted. Дополнительные сведения о размещении элементов управления и наблюдении за событиями см. в разделе События.

  2. Получите HtmlDocument для текущей страницы, открыв свойство Document элемента управления WebBrowser.

Доступ к DOM из элемента управления UserControl, размещенного в Internet Explorer

  1. Создайте собственный пользовательский класс, производный от класса UserControl. Дополнительные сведения см. в разделе Практическое руководство. Создание составных элементов управления.

  2. Поместите в обработчик события загрузки для UserControl следующий код:

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. При использовании DOM через элемент управления WebBrowser необходимо подождать, пока появится событие DocumentCompleted, и только после этого запрашивать доступ к свойству Document элемента управления WebBrowser. Событие DocumentCompleted порождается после загрузки всего документа. Если использовать DOM до того, как это произойдет, во время выполнения в приложении может возникнуть исключение.

Безопасность .NET Framework

  1. Для получения доступа к управляемому HTML DOM приложение или UserControl потребуют полного доверия. Если приложение Windows Forms развертывается с помощью ClickOnce, можно запросить полное доверие, используя повышение уровня разрешения или развертывание доверенных приложений (см. раздел Защита приложений ClickOnce).

См. также