直接 WebAssembly JavaScript 注入:綜合指南
將 JavaScript 注入 WebBrowser 控制項是開發 Web 應用程式時的常見任務。在這種情況下,我們深入研究一個普遍存在的問題:「如何在 WebBrowser 控制項中註入 Javascript?」。
嘗試使用以下程式碼注入 JavaScript 時:
scriptEl.InnerHtml = "function sayHello() { alert('hello') }";
您可能會遇到與不支援 InnerHtml 屬性相關的錯誤。這是需要更深入探索的地方。
要將腳本成功注入DOM,請考慮以下方法:
首先取得WebBrowser 控制項文件的head 元素:
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
接下來,建立一個腳本元素並檢索其IHTMLScriptElement介面:
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script"); IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
將所需的JavaScript 程式碼指派給IHTMLScriptElement 的text 屬性:
element.text = "function sayHello() { alert('hello') }";
最後,將script 元素附加到頭部並呼叫JavaScript 函數:
head.AppendChild(scriptEl); webBrowser1.Document.InvokeScript("sayHello");
此解決方案提供了一種可靠且有效的方法,用於將JavaScript 注入WebBrowser 控件,使您能夠動態地操作Web 並與Web 互動您的應用程式中顯示的內容。
以上是如何使用 IHTMLScriptElement 將 JavaScript 注入 Web 瀏覽器控制項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!