JavaScript-Code in das WebBrowser-Steuerelement in C# einfügen
Dieser Artikel beschreibt eine Technik zum Einfügen von JavaScript-Code in das Document Object Model (DOM) des WebBrowser-Steuerelements. Dieser Ansatz ergibt sich aus der Schwierigkeit, Skriptelemente direkt mithilfe des Attributs InnerHtml
zu manipulieren.
Die folgenden Schritte führen Sie durch den Prozess:
Rufen Sie das head
-Element des aktuellen Dokuments im WebBrowser-Steuerelement ab:
<code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
Erstellen Sie ein Skriptelement mit der Methode CreateElement
:
<code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");</code>
Konvertiert Skriptelemente in IHTMLScriptElement
Schnittstellen. Dieser Schritt ist von entscheidender Bedeutung, da er den Zugriff auf die Schnittstelle ermöglicht, die das „Text“-Attribut des Skriptelements definiert:
<code class="language-csharp">IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;</code>
Setzen Sie das Attribut text
auf den gewünschten JavaScript-Code:
<code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
Fügen Sie ein Skriptelement an das head
-Element an, um ein Skript in das DOM einzufügen:
<code class="language-csharp">head.AppendChild(scriptEl);</code>
Um die eingefügte JavaScript-Funktion auszuführen, rufen Sie die Methode Document
für das Objekt InvokeScript
des WebBrowser-Steuerelements auf:
<code class="language-csharp">webBrowser1.Document.InvokeScript("sayHello");</code>
Mit dieser Methode können Sie JavaScript-Code in das DOM des WebBrowser-Steuerelements einfügen und so dessen Funktionalität und Verhalten dynamisch ändern.
Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript mit C#in ein Webbrowser -Steuerelement injizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!