Практическое руководство. Доступ к управляемой объектной модели HTML-документов
Получить доступ к управляемой объектной модели HTML-документа (DOM) можно из двух типов приложений.
Приложение Windows Forms (.EXE), в котором размещен управляемый элемент управления WebBrowser. Эти две технологии дополняют друг друга: элемент управления WebBrowser отображает страницу пользователю, а HTML DOM представляет логическую структуру документа.
Windows Forms UserControl размещается в Internet Explorer. Вы можете открыть HTML DOM, который показывает страницу, где находится элемент управления UserControl, и изменить структуру документа, открыть модальные диалоговые окна и т. д.
Доступ к DOM из приложения Windows Forms
Разместите элемент управления WebBrowser в приложении Windows Forms и наблюдайте за событием DocumentCompleted. Дополнительные сведения о размещении элементов управления и наблюдении за событиями см. в разделе События.
Получите HtmlDocument для текущей страницы, открыв свойство Document элемента управления WebBrowser.
Доступ к DOM из элемента управления UserControl, размещенного в Internet Explorer
Создайте собственный пользовательский класс, производный от класса UserControl. Дополнительные сведения см. в разделе Практическое руководство. Создание составных элементов управления.
Поместите в обработчик события загрузки для 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
Отказоустойчивость
- При использовании DOM через элемент управления WebBrowser необходимо подождать, пока появится событие DocumentCompleted, и только после этого запрашивать доступ к свойству Document элемента управления WebBrowser. Событие DocumentCompleted порождается после загрузки всего документа. Если использовать DOM до того, как это произойдет, во время выполнения в приложении может возникнуть исключение.
Безопасность .NET Framework
- Для получения доступа к управляемому HTML DOM приложение или UserControl потребуют полного доверия. Если приложение Windows Forms развертывается с помощью ClickOnce, можно запросить полное доверие, используя повышение уровня разрешения или развертывание доверенных приложений (см. раздел Защита приложений ClickOnce).
См. также
.NET Desktop feedback