Heim >Backend-Entwicklung >C++ >Wie kann ich JavaScript mit C#in ein Webbrowser -Steuerelement injizieren?

Wie kann ich JavaScript mit C#in ein Webbrowser -Steuerelement injizieren?

DDD
DDDOriginal
2025-01-26 21:26:16582Durchsuche

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

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:

  1. Rufen Sie das head-Element des aktuellen Dokuments im WebBrowser-Steuerelement ab:

    <code class="language-csharp">HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];</code>
  2. Erstellen Sie ein Skriptelement mit der Methode CreateElement:

    <code class="language-csharp">HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");</code>
  3. 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>
  4. Setzen Sie das Attribut text auf den gewünschten JavaScript-Code:

    <code class="language-csharp">element.text = "function sayHello() { alert('hello') }";</code>
  5. 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>
  6. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn