首頁 > 後端開發 > C++ > 如何使用C#將JavaScript注入WebBrowser控件中?

如何使用C#將JavaScript注入WebBrowser控件中?

DDD
發布: 2025-01-26 21:26:16
原創
576 人瀏覽過

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

C# 中向 WebBrowser 控制項注入 JavaScript 程式碼

本文介紹一種將 JavaScript 程式碼注入 WebBrowser 控制項文件物件模型 (DOM) 的技術。這種方法源自於直接使用 InnerHtml 屬性操作腳本元素的困難。

以下步驟將引導您完成此過程:

  1. 取得 WebBrowser 控制項中目前文件的 head 元素:

    <code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
    登入後複製
  2. 使用 CreateElement 方法建立一個腳本元素:

    <code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");</code>
    登入後複製
  3. 將腳本元素轉換為 IHTMLScriptElement 介面。此步驟至關重要,因為它允許存取定義腳本元素「text」屬性的介面:

    <code class="language-csharp">IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;</code>
    登入後複製
  4. text 屬性設定為所需的 JavaScript 程式碼:

    <code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
    登入後複製
  5. 將腳本元素附加到 head 元素,以將腳本注入 DOM:

    <code class="language-csharp">head.AppendChild(scriptEl);</code>
    登入後複製
  6. 要執行注入的 JavaScript 函數,請在 WebBrowser 控制項的 Document 物件上呼叫 InvokeScript 方法:

    <code class="language-csharp">webBrowser1.Document.InvokeScript("sayHello");</code>
    登入後複製

透過此方法,您可以將 JavaScript 程式碼注入 WebBrowser 控制項的 DOM,從而動態修改其功能和行為。

以上是如何使用C#將JavaScript注入WebBrowser控件中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板