Rumah >pembangunan bahagian belakang >C++ >Bagaimana dengan selamat menyuntik JavaScript ke dalam kawalan webbrowser?

Bagaimana dengan selamat menyuntik JavaScript ke dalam kawalan webbrowser?

Barbara Streisand
Barbara Streisandasal
2025-01-26 21:16:13231semak imbas

How to Safely Inject JavaScript into a WebBrowser Control?

Suntikan JavaScript ke dalam kawalan WebBrowser

Menyuntik JavaScript ke dalam kawalan WebBrowser ialah teknik yang berkesan untuk meningkatkan kefungsian halaman web yang dipaparkan dalam kawalan. Walau bagaimanapun, cubaan untuk menetapkan sifat InnerHtml bagi objek HtmlElement boleh mengakibatkan ralat System.NotSupportedException.

Untuk menyuntik JavaScript dengan berkesan, pendekatan berbeza diperlukan. Langkah berikut menggariskan penyelesaian:

  1. Dapatkan elemen kepala halaman web dalam kawalan WebBrowser:
<code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
  1. Buat elemen skrip dan nyatakan jenisnya:
<code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
scriptEl.SetAttribute("type", "text/javascript");</code>
  1. Dapatkan antara muka IHTMLScriptElement bagi elemen skrip:
<code class="language-csharp">IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;</code>
  1. Tetapkan sifat teks IHTMLScriptElement untuk menentukan kod JavaScript:
<code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
  1. Tambahkan elemen skrip pada elemen kepala:
<code class="language-csharp">head.AppendChild(scriptEl);</code>
  1. Panggil fungsi JavaScript daripada kawalan WebBrowser:
<code class="language-csharp">webBrowser1.Document.InvokeScript("sayHello");</code>

Versi yang disemak ini mengekalkan imej asal dan formatnya sambil menyusun semula teks untuk kejelasan dan aliran yang dipertingkatkan. Coretan kod kekal tidak berubah.

Atas ialah kandungan terperinci Bagaimana dengan selamat menyuntik JavaScript ke dalam kawalan webbrowser?. 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