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:
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
Erstellen Sie ein Skriptelement mit der Methode CreateElement
:
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
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:
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
Setzen Sie das Attribut text
auf den gewünschten JavaScript-Code:
element.text = "function sayHello() { alert('hello') }";
Fügen Sie ein Skriptelement an das head
-Element an, um ein Skript in das DOM einzufügen:
head.AppendChild(scriptEl);
Um die eingefügte JavaScript-Funktion auszuführen, rufen Sie die Methode Document
für das Objekt InvokeScript
des WebBrowser-Steuerelements auf:
webBrowser1.Document.InvokeScript("sayHello");
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!