Maison >interface Web >js tutoriel >Comment injecter du JavaScript dans un contrôle WebBrowser à l'aide d'IHTMLScriptElement ?

Comment injecter du JavaScript dans un contrôle WebBrowser à l'aide d'IHTMLScriptElement ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-25 00:35:13324parcourir

How to Inject JavaScript into a WebBrowser Control Using IHTMLScriptElement?

Injection JavaScript directe de WebAssembly : un guide complet

L'injection de JavaScript dans un contrôle WebBrowser est une tâche courante lors du développement d'applications Web. Dans ce contexte, nous abordons une question courante : "Comment injecter du Javascript dans le contrôle WebBrowser ?".

Lorsque vous tentez d'injecter du JavaScript à l'aide du code suivant :

scriptEl.InnerHtml = "function sayHello() { alert('hello') }";

Vous pouvez rencontrer les erreurs liées à la propriété InnerHtml ne sont pas prises en charge. C'est là qu'une exploration plus approfondie est nécessaire.

Pour réussir à injecter un script dans le DOM, envisagez l'approche suivante :

Commencez par récupérer l'élément head du document du contrôle WebBrowser :

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];

Ensuite, créez un élément de script et récupérez son IHTMLScriptElement interface :

HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;

Attribuez le code JavaScript souhaité à la propriété text de l'IHTMLScriptElement :

element.text = "function sayHello() { alert('hello') }";

Enfin, ajoutez l'élément de script à l'en-tête et invoquez la fonction JavaScript :

head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("sayHello");

Cette solution fournit une méthode fiable et efficace pour injecter du JavaScript dans un contrôle WebBrowser, vous permettant de manipuler et d'interagir dynamiquement avec le contenu web affiché dans votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Mon parcours React : jour 2Article suivant:Mon parcours React : jour 2