Injizieren von Javascript in ein WebBrowser-Steuerelement
Beim Versuch, ein Skript in ein WebBrowser-Steuerelement einzufügen, stoßen Entwickler manchmal auf Probleme mit nicht unterstützten Eigenschaften. Um dieses Problem zu lösen, kann man die IHTMLScriptElement-Schnittstelle nutzen.
Überarbeiteter Ansatz:
Der folgende Codeausschnitt bietet eine Lösung, die nachweislich funktioniert:
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");
Die Schnittstelle verstehen:
Die Mit der IHTMLScriptElement-Schnittstelle können Sie auf die Texteigenschaft eines Skriptelements zugreifen und das Skript ausführen.
Erklärung:
Dieser modifizierte Ansatz nutzt die IHTMLScriptElement-Schnittstelle, um das Skriptelement zu bearbeiten und führen Sie es innerhalb der Browsersteuerung aus. Der mit nicht unterstützten Eigenschaften verbundene Fehler wird umgangen, indem die richtige Schnittstelle für die Aufgabe verwendet wird.
Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript erfolgreich in ein WebBrowser-Steuerelement einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!