Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menyuntik JavaScript ke dalam kawalan webbrowser menggunakan C#?

Bagaimana untuk menyuntik JavaScript ke dalam kawalan webbrowser menggunakan C#?

DDD
DDDasal
2025-01-26 21:26:16582semak imbas

How to Inject JavaScript into a WebBrowser Control Using C#?

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:

  1. Dapatkan elemen head dokumen semasa dalam kawalan WebBrowser:

    <code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
  2. Buat elemen skrip menggunakan kaedah CreateElement:

    <code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");</code>
  3. 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>
  4. Tetapkan atribut text kepada kod JavaScript yang diingini:

    <code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
  5. Tambahkan elemen skrip pada elemen head untuk menyuntik skrip ke dalam DOM:

    <code class="language-csharp">head.AppendChild(scriptEl);</code>
  6. 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!

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