Suntikan kod JavaScript ke dalam kawalan WebBrowser dalam C#
Artikel ini menerangkan teknik untuk menyuntik kod JavaScript ke dalam Model Objek Dokumen (DOM) kawalan WebBrowser. Pendekatan ini berpunca daripada kesukaran memanipulasi elemen skrip secara langsung menggunakan atribut InnerHtml
.
Langkah berikut akan membimbing anda melalui proses:
Dapatkan elemen head
dokumen semasa dalam kawalan WebBrowser:
<code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
Buat elemen skrip menggunakan kaedah CreateElement
:
<code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");</code>
Menukar elemen skrip kepada antara muka IHTMLScriptElement
. Langkah ini penting kerana ia membenarkan akses kepada antara muka yang mentakrifkan atribut "teks" elemen skrip:
<code class="language-csharp">IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;</code>
Tetapkan atribut text
kepada kod JavaScript yang diingini:
<code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
Tambahkan elemen skrip pada elemen head
untuk menyuntik skrip ke dalam DOM:
<code class="language-csharp">head.AppendChild(scriptEl);</code>
Untuk melaksanakan fungsi JavaScript yang disuntik, panggil kaedah Document
pada objek InvokeScript
kawalan WebBrowser:
<code class="language-csharp">webBrowser1.Document.InvokeScript("sayHello");</code>
Dengan kaedah ini, anda boleh menyuntik kod JavaScript ke dalam DOM kawalan WebBrowser, dengan itu mengubah suai fungsi dan tingkah lakunya secara dinamik.
Atas ialah kandungan terperinci Bagaimana untuk menyuntik JavaScript ke dalam kawalan webbrowser menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!