Практическое руководство. Доступ к управляемой объектной модели HTML-документов
Обновлен: Ноябрь 2007
Доступ к управляемой объектной модели (DOM) HTML-документов может осуществляться из приложений двух типов.
Приложение Windows Forms (.exe), использующее элемент управления WebBrowser. Данные технологии дополняют друг друга, причем элемент управления WebBrowser служит для представления страницы пользователю, а HTML DOM служит для представления логической структуры документа.
Элемент управления UserControl Windows Forms, размещенный в Internet Explorer. Существует возможность доступа к объекту HTML DOM, представляющему страницу, на которой размещен элемент управления UserControl, с целью изменения структуры документа, открытия модальных диалоговых окон, а также иных возможностей.
Доступ к DOM из приложения Windows Forms
Разместите в приложении Windows Forms элемент управления WebBrowser и обеспечьте отслеживание события DocumentCompleted. Дополнительные сведения о размещении элементов управления и отслеживании событий см. в разделе Прием событий.
Извлеките для текущей страницы объект HtmlDocument путем доступа к свойству Document элемента управления WebBrowser.
Доступ к DOM из элемента управления UserControl, размещенного в веб-обозревателе Internet Explorer
Создайте пользовательский класс, производный от класса UserControl. Дополнительные сведения см. в разделе Практическое руководство. Создание составных элементов управления.
Поместите в обработчик событий Load для элемента управления UserControl следующий код:
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));
}
}
Отказоустойчивость
- При использовании DOM посредством элемента управления WebBrowser, необходимо дождаться возникновения события DocumentCompleted, прежде чем обращаться к свойству Document элемента управления WebBrowser. Событие DocumentCompleted возникает после того, как документ полностью загружен. При попытке использования DOM до того, как это произойдет, существует вероятность возникновения исключения времени выполнения приложения.
Безопасность
- Для доступа к управляемой объектной модели HTML-документов приложению или элементу управления UserControl требуется полное доверие. При развертывании приложения Windows Forms с помощью ClickOnce полное доверие можно запросить с помощью функций повышения разрешений и развертывания надежных приложения. Дополнительные сведения см. в разделах Обзор развертывания ClickOnce и Развертывание и безопасность ClickOnce.