Postupy: Přístup ke zdroji HTML ve spravovaném objektu modelu dokumentu HTML
DocumentTextWebBrowser Vlastnosti DocumentStream ovládacího prvku vrátí kód HTML aktuálního dokumentu, jak existoval při prvním zobrazení. Pokud však upravíte stránku pomocí metody a volání vlastností, například AppendChild a InnerHtml, tyto změny se nezobrazí při volání DocumentStream a DocumentText. Chcete-li získat nejaktuálnější zdroj HTML pro DOM, je nutné volat OuterHtml vlastnost element HTML.
Následující postup ukazuje, jak načíst dynamický zdroj a zobrazit ho v samostatné místní nabídce.
Načítání dynamického zdroje pomocí vlastnosti OuterHtml
Vytvořte novou aplikaci model Windows Forms. Začněte jedním a Formpojmenujte ho
Form1
.Hostujte WebBrowser ovládací prvek v aplikaci model Windows Forms a pojmenujte ho
WebBrowser1
. Další informace naleznete v tématu Postupy: Přidání funkcí webového prohlížeče do aplikace model Windows Forms.V aplikaci vytvořte sekundu Form s názvem
CodeForm
.RichTextBox Přidejte ovládací prvek a
CodeForm
nastavte jeho Dock vlastnost naFill
.Vytvořte veřejnou vlastnost
CodeForm
s názvemCode
.public string Code { get { if (richTextBox1.Text != null) { return (richTextBox1.Text); } else { return (""); } } set { richTextBox1.Text = value; } }
Public Property Code() As String Get If (RichTextBox1.Text IsNot Nothing) Then Code = RichTextBox1.Text Else Code = "" End If End Get Set(ByVal value As String) RichTextBox1.Text = value End Set End Property
Button Přidejte do události ovládací prvek s názvem
Button1
a sledujte FormClick událost. Podrobnosti o událostech monitorování najdete v tématu Události.Do obslužné rutiny Click události přidejte následující kód.
private void button1_Click(object sender, EventArgs e) { HtmlElement elem; if (webBrowser1.Document != null) { CodeForm cf = new CodeForm(); HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("HTML"); if (elems.Count == 1) { elem = elems[0]; cf.Code = elem.OuterHtml; cf.Show(); } } }
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim elem As HtmlElement If (WebBrowser1.Document IsNot Nothing) Then Dim cf As New CodeForm() Dim elems As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("HTML") If (elems.Count = 1) Then elem = elems(0) cf.Code = elem.OuterHtml cf.Show() End If End If End Sub
Robustní programování
Před pokusem o načtení vždy otestujte hodnotu Document . Pokud aktuální stránka není dokončena načítání, Document nebo jeden nebo více jeho podřízených objektů nemusí být inicializován.
Viz také
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro