Udostępnij za pośrednictwem


Instrukcje: uzyskiwanie dostępu do zarządzanego modelu obiektów dokumentów HTML

Dostęp do zarządzanego modelu obiektów dokumentów HTML (DOM) można uzyskać z dwóch typów aplikacji:

  • Aplikacja Windows Forms (.exe), która hostuje zarządzaną WebBrowser kontrolkę. Te dwie technologie uzupełniają się wzajemnie, przy czym kontrolka WebBrowser wyświetlająca stronę użytkownikowi i DOM HTML reprezentujący strukturę logiczną dokumentu.

  • Formularze systemu UserControl Windows hostowane w programie Internet Explorer. Możesz uzyskać dostęp do modelu HTML DOM reprezentującego stronę, na której UserControl jest hostowana, aby zmienić strukturę dokumentu lub otworzyć modalne okna dialogowe, a także skorzystać z wielu innych możliwości.

Aby uzyskać dostęp do modelu DOM z poziomu aplikacji Windows Forms

  1. Umieść kontrolkę WebBrowser w aplikacji Windows Forms i monitoruj zdarzenie DocumentCompleted. Aby uzyskać szczegółowe informacje na temat zarządzania kontrolą i monitorowania wydarzeń, zobacz Zdarzenia.

  2. Pobierz element HtmlDocument dla bieżącej strony, korzystając z właściwości Document kontrolki WebBrowser.

Aby uzyskać dostęp do modelu DOM z poziomu elementu UserControl hostowanego w programie Internet Explorer

  1. Utwórz własną niestandardową klasę pochodną UserControl klasy . Aby uzyskać więcej informacji, zobacz How to: Author Composite Controls.

  2. Umieść następujący kod wewnątrz programu obsługi zdarzeń ładowania dla elementu 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

Niezawodne programowanie

  1. W przypadku używania modelu DOM za pomocą kontrolki WebBrowser należy zawsze czekać, aż zdarzenie DocumentCompleted nastąpi, zanim podejmie się próbę uzyskania dostępu do właściwości Document kontrolki WebBrowser. Zdarzenie DocumentCompleted jest zgłaszane po załadowaniu całego dokumentu. Jeśli użyjesz modelu DOM przed tym zdarzeniem, istnieje ryzyko wystąpienia wyjątku czasu wykonywania w aplikacji.

Zabezpieczenia programu .NET Framework

  1. Twoja aplikacja lub UserControl będzie wymagać pełnego zaufania, aby uzyskać dostęp do zarządzanego modelu DOM HTML. Jeśli wdrażasz aplikację Windows Forms przy użyciu technologii ClickOnce, możesz zażądać pełnego zaufania przy użyciu podniesienia uprawnień lub wdrożenia zaufanej aplikacji; Aby uzyskać szczegółowe informacje, zobacz Zabezpieczanie aplikacji ClickOnce .

Zobacz także