Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le proprietà DocumentStream e DocumentText del controllo WebBrowser restituiscono l'HTML del documento corrente così come si presentava al momento della prima visualizzazione. Se tuttavia si modifica la pagina attraverso chiamate a metodo e proprietà, ad esempio AppendChild eInnerHtml, le modifiche non verranno visualizzate quando si esegue la chiamata alle proprietà DocumentStream e DocumentText. Per ottenere l'origine HTML più recente del DOM, è necessario chiamare la proprietà OuterHtml sull'elemento HTML.
Nella procedura seguente viene illustrato come recuperare l'origine dinamica e visualizzarla in un menu di scelta rapida separato.
Recupero dell'origine dinamica con la proprietà OuterHtml
Creare una nuova applicazione Windows Form. Iniziare con una sola classe Form denominandola Form1.
Includere il controllo WebBrowser nell'applicazione Windows Form e denominarlo WebBrowser1. Per ulteriori informazioni, vedere Procedura: aggiungere funzionalità del browser Web a un'applicazione Windows Form.
Creare una seconda istanza della classe Form nell'applicazione denominandola CodeForm.
Aggiungere un controllo RichTextBox a CodeForm e impostarne la proprietà Dock su Fill.
Creare una proprietà pubblica in CodeForm denominata Code.
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 Propertypublic string Code { get { if (richTextBox1.Text != null) { return (richTextBox1.Text); } else { return (""); } } set { richTextBox1.Text = value; } }Aggiungere un controllo Button denominato Button1 alla classe Form e monitorare l'evento Click. Per informazioni dettagliate sul monitoraggio degli eventi vedere Utilizzo degli eventi.
Aggiungere il codice seguente al gestore eventi Click.
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 Subprivate 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(); } } }
Programmazione efficiente
Verificare sempre il valore della proprietà Document prima di tentare di recuperarla. Se il caricamento della pagina corrente non è terminato, è possibile che l'inizializzazione di Document oppure di uno o più dei relativi oggetti figlio non venga eseguita.
Vedere anche
Riferimenti
Cenni preliminari sul controllo WebBrowser