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
Freigeben: 2025-01-26 21:26:16
Original
576 Leute haben es durchsucht

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>
    Nach dem Login kopieren
  2. Erstellen Sie ein Skriptelement mit der Methode CreateElement:

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

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

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage