C# 中向 WebBrowser 控制項注入 JavaScript 程式碼
本文介紹一種將 JavaScript 程式碼注入 WebBrowser 控制項文件物件模型 (DOM) 的技術。這種方法源自於直接使用 InnerHtml
屬性操作腳本元素的困難。
以下步驟將引導您完成此過程:
取得 WebBrowser 控制項中目前文件的 head
元素:
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
使用 CreateElement
方法建立一個腳本元素:
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
將腳本元素轉換為 IHTMLScriptElement
介面。此步驟至關重要,因為它允許存取定義腳本元素「text」屬性的介面:
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
將 text
屬性設定為所需的 JavaScript 程式碼:
element.text = "function sayHello() { alert('hello') }";
將腳本元素附加到 head
元素,以將腳本注入 DOM:
head.AppendChild(scriptEl);
要執行注入的 JavaScript 函數,請在 WebBrowser 控制項的 Document
物件上呼叫 InvokeScript
方法:
webBrowser1.Document.InvokeScript("sayHello");
透過此方法,您可以將 JavaScript 程式碼注入 WebBrowser 控制項的 DOM,從而動態修改其功能和行為。
以上是如何使用C#將JavaScript注入WebBrowser控件中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!