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:
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
Buat elemen skrip menggunakan kaedah CreateElement
:
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
Menukar elemen skrip kepada antara muka IHTMLScriptElement
. Langkah ini penting kerana ia membenarkan akses kepada antara muka yang mentakrifkan atribut "teks" elemen skrip:
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
Tetapkan atribut text
kepada kod JavaScript yang diingini:
element.text = "function sayHello() { alert('hello') }";
Tambahkan elemen skrip pada elemen head
untuk menyuntik skrip ke dalam DOM:
head.AppendChild(scriptEl);
Untuk melaksanakan fungsi JavaScript yang disuntik, panggil kaedah Document
pada objek InvokeScript
kawalan WebBrowser:
webBrowser1.Document.InvokeScript("sayHello");
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!