Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyuntik JavaScript ke dalam Kawalan WebBrowser Tanpa Menggunakan InnerHtml?

Bagaimana untuk Menyuntik JavaScript ke dalam Kawalan WebBrowser Tanpa Menggunakan InnerHtml?

Susan Sarandon
Susan Sarandonasal
2024-11-19 18:45:03380semak imbas

How to Inject JavaScript into a WebBrowser Control Without Using InnerHtml?

Menyuntik JavaScript ke dalam Kawalan Penyemak Imbas Web

Soalan:

Saya cuba menyuntik Skrip JavaScript ke dalam kawalan WebBrowser, tetapi menghadapi ralat semasa menetapkan sifat InnerHtml bagi elemen skrip. Adakah terdapat kaedah alternatif untuk mencapai matlamat ini?

Jawapan:

虽然原始尝试未本能成功,但可以使用以法以使用以法DOM:

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function sayHello() { alert('hello') }";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("sayHello");

Penjelasan:

  • Dapatkan Antara Muka IHTMLScriptElement:

    • Sifat DomElement mendedahkan objek COM yang mendasari. Menghantar ini ke IHTMLScriptElement membenarkan akses kepada sifat teks.
  • Tetapkan Teks Skrip:

    • Tetapkan kod JavaScript yang dikehendaki kepada teks property.
  • Invoke Skrip:

    • Panggil InvokeScript pada dokumen untuk melaksanakan skrip yang disuntik.

Atas ialah kandungan terperinci Bagaimana untuk Menyuntik JavaScript ke dalam Kawalan WebBrowser Tanpa Menggunakan InnerHtml?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn