Heim  >  Artikel  >  Web-Frontend  >  Wie füge ich JavaScript in ein WebBrowser-Steuerelement ein, ohne InnerHtml zu verwenden?

Wie füge ich JavaScript in ein WebBrowser-Steuerelement ein, ohne InnerHtml zu verwenden?

Susan Sarandon
Susan SarandonOriginal
2024-11-19 18:45:03351Durchsuche

How to Inject JavaScript into a WebBrowser Control Without Using InnerHtml?

JavaScript in ein WebBrowser-Steuerelement einfügen

Frage:

Ich versuche, ein JavaScript-Skript in ein WebBrowser-Steuerelement, es treten jedoch Fehler beim Festlegen der InnerHtml-Eigenschaft des Skriptelements auf. Gibt es eine alternative Methode, um dies zu erreichen?

Antwort:

虽然原始尝试未能成功,但可以使用以下方法将脚本注入. DOM:

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function sayHello() { alert('hello') }";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("sayHello");

Erklärung:

  • IHTMLScriptElement-Schnittstelle abrufen:

    • Die DomElement-Eigenschaft macht das zugrundeliegende verfügbar COM-Objekt. Die Umwandlung in IHTMLScriptElement ermöglicht den Zugriff auf die Texteigenschaft.
  • Skripttext festlegen:

    • Weisen Sie den gewünschten JavaScript-Code zu auf die Texteigenschaft.
  • Invoke Script:

    • Rufen Sie InvokeScript für das Dokument auf, um das injizierte Skript auszuführen.

Das obige ist der detaillierte Inhalt vonWie füge ich JavaScript in ein WebBrowser-Steuerelement ein, ohne InnerHtml zu verwenden?. 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